
/* start /scripts/players/util/appSettings.js*/
var censusRootUrl=globs.urls.censusUrl+'/s:dgc',gameEnvironment="ps2:v2";_.extend(appSettings,{CONTINENTS:{'indar':{'name':'Indar','imgFile':'/images/players/map/indar/','zone':2,'color':'#E6BF96','hexSize':200,'visiblePlanetStatus':true,'visibleSocialWall':true},'esamir':{'name':'Esamir','imgFile':'/images/players/map/esamir/','zone':8,'color':'#FAFCFF','hexSize':200,'visiblePlanetStatus':true,'visibleSocialWall':true},'amerish':{'name':'Amerish','imgFile':'/images/players/map/amerish/','zone':6,'color':'#3B7A57','hexSize':200,'visiblePlanetStatus':true,'visibleSocialWall':true},'hossin':{'name':'Hossin','imgFile':'/images/players/map/hossin/','zone':4,'color':'#7AA005','hexSize':200,'visiblePlanetStatus':true,'visibleSocialWall':false},'oshur':{'name':'Oshur','imgFile':'','zone':344,'color':'#FF0000','hexSize':100,'visiblePlanetStatus':false,'visibleSocialWall':false}},CONTINENTS_BY_ID:{2:{'name':'Indar'},4:{'name':'Hossin'},6:{'name':'Amerish'},8:{'name':'Esamir'},344:{'name':'Oshur'}},classesTable:{1:{'desc':"Even though Rebirthing technology has nearly eliminated the concept of fear on Auraxis, the Infiltrator remains one of the few things soldiers are afraid of. Their cloaking technology enables them to become almost totally invisible, allowing them to move around virtually undetected. Soldiers came to fear every shimmer or shadow in their peripheral as a very real threat.<br><br>Infiltrators are far from the sturdiest soldiers, as their suits composed of stealth-compatible materials provide little protection against small arms fire, but many veteran cloakers claim that being undetectable provides for just as much survivability on the field. Their long-range sniper rifles are amongst the most powerful on Auraxis, allowing them to take down targets at even the most extreme distances with deadly precision. In addition, they also can choose from an array of recon tools to help support their covert nature, allowing them to supply their empire with critical information about the enemy and their movements.",'name':'Infiltrator','type':'infiltrator','displayOrder':5},3:{'desc':"The Light Assault utilizes a devastating combination of powerful close-range weaponry, extreme mobility and chaos-causing tools to define the flow of combat and make their own paths through facilities. A skilled Light Assault soldier can make the battlefield their own.<br><br>Light Assault troops come equipped with powerful carbines that make short work of enemies at close to medium ranges, and their jumpjets allow them to circumvent barriers and obstacles that would leave other soldiers looking for another way through. In addition to their mobility and close quarters prowess, they also make use of flashbangs and smoke grenades that can be used to disorient and confuse the enemy, or provide cover to their Empire.<br><br>Though not as sturdy as other soldiers, the agile Light Assault can do serious damage when flanking enemy squads, taking advantage of both their vast weapon and support options. Whether acting alone to disrupt enemy forces or in a group to finish capturing a facility, the Light Assault is a fearsome presence on the battlefields of Auraxis.",'name':'Light Assault','type':'light_assault','displayOrder':1},4:{'desc':"The Combat Medic&rsquo;s incredible versatility on the battlefield affords them a wide range of both assault and support roles. Equipped with rifles and a suite of nanite-fueled healing devices, the Combat Medic can both hold their own in a firefight and quickly mend their fellow soldier&rsquo;s wounds.<br><br>Their powerful assault rifles are both accurate and deadly, allowing them to easily take out targets at a distance. Their medical applicator can project a concentrated beam of nanites programmed to mend flesh and dispense coagulation agents, as well as experimental Field Rebirth technology, allowing the recently dead to be brought back to life.<br><br>When the dust settles from an intense firefight with only a lone survivor, every squad wants their Combat Medic to be the last man standing. Though every soldier on Auraxis is capable of putting enemies into the grave, the Combat Medic is the only one that can pull them back out.",'name':'Combat Medic','type':'combat_medic','displayOrder':0},5:{'desc':"When factory-built tanks and vehicles were replaced by relatively disposable nano-fabricated versions, non-combatant mechanics began training extensively in marksmanship and demolitions. Despite their recent shift in duties, Engineers have quickly proven themselves as effective soldiers, capable of either turning an ordinary warehouse into an impregnable fortress, or blasting the enemies fortresses to the ground. The Engineer excels in both traditional combat and support roles, but it&rsquo;s when they&rsquo;re on defense that they truly shine.<br><br>Equipped with easily controllable carbines, the Engineer can put down targets in close quarters and even mid ranges with ease. Their ACE tool, however, is where the bulk of their utility lies. Capable of generating a variety of turrets, shield generators and the like almost instantly, Engineers have the ability to both defend a position or create staging points for assaults. In addition to their ACE tool, Engineers can also repair friendly vehicles and MAXes with their Nano-Armor Kit, as well as lay down anti-vehicle mines and C4 to destroy enemy tanks.",'name':'Engineer','type':'engineer','displayOrder':3},6:{'desc':"The development of the Heavy Assault soldier was a relatively recent innovation designed to combat the surge of instant nanite-assembled vehicles. Not only do they boast some of the most durable armor on Auraxis, their Nanite Mesh Generators allow them to instantly form a temporary extra layer of protection that absorbs the impact of incoming enemy fire. In addition to their ability to take damage, Heavy Assault soldiers are well known for the devastating weaponry that they wield. Their anti-vehicle rocket launchers can punch holes in enemy tanks, and their high-capacity LMGs and Heavy Assault weapons can lay down sustained fire that dominates in close quarters.<br><br>Only with the introduction of Rebirthing and recent improvements in shield technology has their mantra of &ldquo;endure and eradicate&rdquo; become viable. While the Heavy Assault&rsquo;s brute-force strategy may not be the most elegant solution, it&rsquo;s proven itself as an effective one.",'name':'Heavy Assault','type':'heavy_assault','displayOrder':2},7:{'desc':"Prototypes of the modern day MAX suit used on Auraxis were created after the New Conglomerate began modifying powered exoskeletons intended for mining operations by welding shotguns and homemade composite armor to them. After their potential for both saving and taking lives was realized, revisions to the initial design were quickly iterated on by all three factions. The end result is a lumbering juggernaut capable of both adapting their flexible weapon systems to a variety of situations and absorbing immense amounts of fire.<br><br>MAX suits lack the shield generator that other infantry possess, but their durable exoskeletons can absorb far more punishment than the typical footsoldier, especially from small arms fire.",'name':'Max','type':'max','displayOrder':4}},profilesTable:{2:{'name':'Infiltrator'},4:{'name':'Light Assault'},5:{'name':'Combat Medic'},6:{'name':'Engineer'},7:{'name':'Heavy Assault'},8:{'name':'MAX'},10:{'name':'Infiltrator'},12:{'name':'Light Assault'},13:{'name':'Combat Medic'},14:{'name':'Engineer'},15:{'name':'Heavy Assault'},16:{'name':'MAX'},17:{'name':'Infiltrator'},19:{'name':'Light Assault'},20:{'name':'Combat Medic'},21:{'name':'Engineer'},22:{'name':'Heavy Assault'},23:{'name':'MAX'},190:{'name':'Infiltrator'},191:{'name':'Light Assault'},192:{'name':'Combat Medic'},193:{'name':'Engineer'},194:{'name':'Heavy Assault'},252:{'name':'Defector'}},tpl:{},errorTimeoutDuration:5000,censusFileRootUrl:globs.urls.censusUrl,serverEnvironment:serverEnvironment,gameEnvironment:gameEnvironment,censusUrl:censusRootUrl+"/json/get/"+gameEnvironment,censusLBUrl:censusRootUrl+"/json/get/"+gameEnvironment+"/leaderboard",censusCharLBUrl:censusRootUrl+"/json/get/"+gameEnvironment+"/characters_leaderboard/?character_id=",censusFriendsLBUrl:censusRootUrl+"/json/get/"+gameEnvironment+"/character/",censusImgUrl:censusRootUrl+"/img/"+gameEnvironment,friendsIdsUrl:censusRootUrl+"/json/get/"+gameEnvironment+"/characters_friend/",historicalUrl:censusRootUrl+"/json/get/"+gameEnvironment+"/characters_event/",characterWorldUrl:censusRootUrl+"/json/get/"+gameEnvironment+"/characters_world/",worldsList:censusRootUrl+"/json/get/"+gameEnvironment+"/world/",zonesList:censusRootUrl+"/json/zones/"+gameEnvironment,mapFactionList:censusRootUrl+"/json/get/"+gameEnvironment+"/map",userCharIDs:null,friendsIds:[],factions:{1:{'name':{en:'Vanu Sovereignty'},'icon':21,'code':'vs'},2:{'name':{en:'New Conglomerate'},'icon':19,'code':'nc'},3:{'name':{en:'Terran Republic'},'icon':20,'code':'tr'},4:{'name':{en:'Nanite Systems'},'icon':-1,'code':'ns'},code:{vs:{'name':{en:'Vanu Sovereignty'},'icon':21,'id':1},nc:{'name':{en:'New Conglomerate'},'icon':19,'id':2},tr:{'name':{en:'Terran Republic'},'icon':20,'id':3},ns:{'name':{en:'Nanite Systems'},'icon':-1,'id':4}}},battleRankTable:function(){var BRTable=[{id:1,min:0},{id:2,min:3300},{id:3,min:8250},{id:4,min:16500},{id:5,min:33000},{id:6,min:49500},{id:7,min:74250},{id:8,min:111375},{id:9,min:139219},{id:10,min:174023},{id:11,min:217529},{id:12,min:271911},{id:13,min:339889},{id:14,min:424862},{id:15,min:531078},{id:16,min:663847},{id:17,min:828808},{id:18,min:1037260},{id:19,min:1296576},{id:20,min:1400000}];var BRMin=1400000;for(var rank=21;rank<=100;rank++){BRMin+=100000;BRTable.push({id:rank,min:BRMin});}
for(var rank=101;rank<=200;rank++){BRMin+=943447;BRTable.push({id:rank,min:BRMin});}
return BRTable;}(),itemsTable:{},resources:{},vehicleTable:{},worldsTable:{},characterVehicles:{},accountCharacters:{},noCharAlertShown:false,charLoadErrorShown:false,syncConfigs:{type:'GET',dataType:'jsonp',processData:false,cache:true}});if(globs.wdl.userLoggedIn){appSettings.characterIds=characterIds;appSettings.wsTicketURL="https://auth.daybreakgames.com/login?gateway=true&service=https%3A%2F%2Fpush.planetside2.com%2Fticket";appSettings.wsURL="wss://push.planetside2.com/websocket";}

/* end /scripts/players/util/appSettings.js*/

/* start /scripts/players/util/i18n.js*/
var i18n={langCode:function(){var fullCode="en_US"
subCode=fullCode.substring(0,2);return subCode;}(),utils:{timestampToDate:{month:{january:"Jan",february:"Feb",march:"Mar",april:"Apr",may:"May",june:"Jun",july:"Jul",august:"Aug",september:"Sep",october:"Oct",november:"Nov",december:"Dec"}},leaderboards:{page:"Page",of:"of"},profile:{highcharts:{timePerClass:"TIME PER CLASS",killsBreakdown:"KILLS BREAKDOWN",scoreBreakdown:"SCORE BREAKDOWN",daily:"TODAY",weekly:"THIS WEEK",monthly:"THIS MONTH"}}},weaponOverviewList:{weapons:{filter:{type:{lmg:"LMG",assault_rifle:"Assault Rifle",carbine:"Carbine",sniper_rifle:"Sniper Rifle",pistol:"Pistol",grenade:"Grenade",shotgun:"Shotgun",rocket_launcher:"Rocket Launcher",smg:"SMG",scout_rifle:"Battle Rifle",av_max:"AV Max",ai_max:"AI Max",aa_max:"AA Max",chain_gun:"Chain Gun",heavy_gun:"Heavy Gun",knife:"Knife",explosive:"Explosive",battle_rifle:"Battle Rifle"}}}},leaderboardsTop:{lbTopKills:{topKills:"TOP KILLS"},lbTopScore:{topScore:"TOP SCORE"},lbTopTime:{topTime:"MOST TIME PLAYED"},worldData:{loadingWorld:"Loading World...",worldUnavailable:"<em>&#91;World Unavailable&#93;</em>"}},planetStatus:{dropdowns:{noDataAvailable:"No Data Available"}},searchResults:{worldData:{loading:"Loading...",unavailable:"Unavailable"}},main:{loadSplash:{pleaseLogin:"PLEASE LOGIN TO THE GAME AND CREATE A CHARACTER"},showLoader:{errorText:"Looks like there has been an error. Please click OK to return to the previous page."},removeLoader:{errorText:"<em>PROCESSING...</em><br>The information you have requested seems to be taking a while to retreive. You can wait, or press OK to return to the previous page."}},autosuggest:{startText:{characterSearch:"Character Search..."},emptyText:{noCharactersFound:"No Characters Found",noOutfitsFound:"No Outfits Found"},limitText:{noMore:"No More Selections Are Allowed"},results:"results",searchFor:"Search for"},mappingNew:{renderMap:{noAreaHighlighted:"&#91;No area highlighted&#93;",territoryControl:"Territory Control",resourceValue:"Resource Value"},checkMapFilters:{hideAll:"HIDE ALL",showAll:"SHOW ALL"},resourceNames:{aerospace:"Aerospace",infantry:"Infantry",mechanized:"Mechanized"}},mainNav:{charLoadError:{characterLoadError:"CHARACTER LOAD ERROR",errorDescription:"Unable to load {0} of your characters. Please log in to the game with the missing character(s) to update their data.",ok:"OK"}},killboard:{killboardTimelineTabView:{render:{combatAction:"COMBAT ACTION",recent:"RECENT",location:"LOCATION",method:"METHOD"}},killboardKillsTabView:{initialize:{recentKills:"RECENT KILLS"}},killboardDeathsTabView:{initialize:{recentDeaths:"RECENT DEATHS"}}},outfitModel:{outfitMemberManip:{unknown:"[unknown]"}},outfit:{online:"Online",offline:"Offline",outfitSearch:"Outfit Search..."},overview:{socialWall:{offline:"SYSTEM OFFLINE",nomsg:"NO MESSAGES",loading:"LOADING MESSAGES"},friendsList:{noFriends:"No Friends"}},classes:{description:{combatMedic:"The Combat Medic&rsquo;s incredible versatility on the battlefield affords them a wide range of both assault and support roles. Equipped with rifles and a suite of nanite-fueled healing devices, the Combat Medic can both hold their own in a firefight and quickly mend their fellow soldier&rsquo;s wounds.<br><br>Their powerful assault rifles are both accurate and deadly, allowing them to easily take out targets at a distance. Their medical applicator can project a concentrated beam of nanites programmed to mend flesh and dispense coagulation agents, as well as experimental Field Rebirth technology, allowing the recently dead to be brought back to life.<br><br>When the dust settles from an intense firefight with only a lone survivor, every squad wants their Combat Medic to be the last man standing. Though every soldier on Auraxis is capable of putting enemies into the grave, the Combat Medic is the only one that can pull them back out.",lightAssault:"The Light Assault utilizes a devastating combination of powerful close-range weaponry, extreme mobility and chaos-causing tools to define the flow of combat and make their own paths through facilities. A skilled Light Assault soldier can make the battlefield their own.<br><br>Light Assault troops come equipped with powerful carbines that make short work of enemies at close to medium ranges, and their jumpjets allow them to circumvent barriers and obstacles that would leave other soldiers looking for another way through. In addition to their mobility and close quarters prowess, they also make use of flashbangs and smoke grenades that can be used to disorient and confuse the enemy, or provide cover to their Empire.<br><br>Though not as sturdy as other soldiers, the agile Light Assault can do serious damage when flanking enemy squads, taking advantage of both their vast weapon and support options. Whether acting alone to disrupt enemy forces or in a group to finish capturing a facility, the Light Assault is a fearsome presence on the battlefields of Auraxis.",heavyAssault:"The development of the Heavy Assault soldier was a relatively recent innovation designed to combat the surge of instant nanite-assembled vehicles. Not only do they boast some of the most durable armor on Auraxis, their Nanite Mesh Generators allow them to instantly form a temporary extra layer of protection that absorbs the impact of incoming enemy fire. In addition to their ability to take damage, Heavy Assault soldiers are well known for the devastating weaponry that they wield. Their anti-vehicle rocket launchers can punch holes in enemy tanks, and their high-capacity LMGs and Heavy Assault weapons can lay down sustained fire that dominates in close quarters.<br><br>Only with the introduction of Rebirthing and recent improvements in shield technology has their mantra of &ldquo;endure and eradicate&rdquo; become viable. While the Heavy Assault&rsquo;s brute-force strategy may not be the most elegant solution, it&rsquo;s proven itself as an effective one.",engineer:"When factory-built tanks and vehicles were replaced by relatively disposable nano-fabricated versions, non-combatant mechanics began training extensively in marksmanship and demolitions. Despite their recent shift in duties, Engineers have quickly proven themselves as effective soldiers, capable of either turning an ordinary warehouse into an impregnable fortress, or blasting the enemies fortresses to the ground. The Engineer excels in both traditional combat and support roles, but it&rsquo;s when they&rsquo;re on defense that they truly shine.<br><br>Equipped with easily controllable carbines, the Engineer can put down targets in close quarters and even mid ranges with ease. Their ACE tool, however, is where the bulk of their utility lies. Capable of generating a variety of turrets, shield generators and the like almost instantly, Engineers have the ability to both defend a position or create staging points for assaults. In addition to their ACE tool, Engineers can also repair friendly vehicles and MAXes with their Nano-Armor Kit, as well as lay down anti-vehicle mines and C4 to destroy enemy tanks.",max:"Prototypes of the modern day MAX suit used on Auraxis were created after the New Conglomerate began modifying powered exoskeletons intended for mining operations by welding shotguns and homemade composite armor to them. After their potential for both saving and taking lives was realized, revisions to the initial design were quickly iterated on by all three factions. The end result is a lumbering juggernaut capable of both adapting their flexible weapon systems to a variety of situations and absorbing immense amounts of fire.<br><br>MAX suits lack the shield generator that other infantry possess, but their durable exoskeletons can absorb far more punishment than the typical footsoldier, especially from small arms fire.",infiltrator:"Even though Rebirthing technology has nearly eliminated the concept of fear on Auraxis, the Infiltrator remains one of the few things soldiers are afraid of. Their cloaking technology enables them to become almost totally invisible, allowing them to move around virtually undetected. Soldiers came to fear every shimmer or shadow in their peripheral as a very real threat.<br><br>Infiltrators are far from the sturdiest soldiers, as their suits composed of stealth-compatible materials provide little protection against small arms fire, but many veteran cloakers claim that being undetectable provides for just as much survivability on the field. Their long-range sniper rifles are amongst the most powerful on Auraxis, allowing them to take down targets at even the most extreme distances with deadly precision. In addition, they also can choose from an array of recon tools to help support their covert nature, allowing them to supply their empire with critical information about the enemy and their movements."}}};

/* end /scripts/players/util/i18n.js*/

/* start /scripts/players/tpl/certifications-tpl.js*/
appSettings.tpl['tplComingSoon3']=_.template('<div class=\"view-content-container\"><div class=\"coming-soon-3\"><div id=\"comingSoon\"><span class=\"large-text\">COMING SOON<\/span><span class=\"small-text\">Please check back soon for updates.<\/span><\/div><\/div><\/div>');

/* end /scripts/players/tpl/certifications-tpl.js*/

/* start /scripts/players/tpl/classes-tpl.js*/
appSettings.tpl["tplCharClassHeader"]=_.template('<div class=\"header\"><h2>Classes<\/h2><div class=\"divider\"><\/div><\/div><div class=\"view-content-container\"><\/div>');appSettings.tpl["tplCharClassItem"]=_.template('<h3><div class=\"emblem <%= name.replace(\" \", \"-\").toLowerCase() %>\"><\/div><span class=\"cl-name\"><%= name %><\/span><span class=\"collapse\"><\/span><\/h3><div class=\"pane clearfix\"><div class=\"divider\"><\/div><div class=\"avatar-bg <%= faction %>\"><div class=\"avatar <%= name.replace(\" \", \"-\").toLowerCase() %>\"><img src=\"<%= classImgUrl %>\" \/><\/div><\/div><div id=\"classStats\" class=\"stats-div\"><\/div><div class=\"big-divider\"><\/div>');appSettings.tpl["tplCharClassStatsItem"]=_.template('<div class=\"stats clearfix\" style=\"float:left\"><h4>Statistic<\/h4><div class=\"stats-block score\"><div class=\"stats-icon score\"><\/div><span>Score<\/span><span class=\"data\"><%= PS2.utils.addCommas(score) %><\/span><\/div><div class=\"stats-block time\"><div class=\"stats-icon time\"><\/div><span>Time Played<\/span><span class=\"data\" id=\"timePlayedData\"><% print(PS2.utils.convertMilliToTime(timePlayed * 1000, true)) %><\/span><\/div><div class=\"clearfix\"><\/div><div class=\"stats-block accuracy\"><div class=\"stats-icon accuracy\"><\/div><span>Accuracy %<\/span><span class=\"data\"><%= accuracy %>%<\/span><\/div><div class=\"stats-block shots\"><div class=\"stats-icon shots-fired\"><\/div><span>Shots Fired<\/span><span class=\"data\"><%= PS2.utils.addCommas(shotsFired) %><\/span><\/div><div class=\"clearfix\"><\/div><div class=\"stats-block spm\"><div class=\"stats-icon spm\"><\/div><span>Score\/Minute<\/span><span class=\"data\"><%= PS2.utils.addCommas(spm) %><\/span><\/div><\/div><div class=\"desc scroll-pane\"><p><%= desc %><\/p><\/div> <!-- \/all-data -->');

/* end /scripts/players/tpl/classes-tpl.js*/

/* start /scripts/players/tpl/killboard-tpl.js*/
appSettings.tpl['tplKillboardHeader']=_.template('<div class=\"header\"><h2>KILLBOARD<\/h2><div class=\"divider\"><\/div><\/div><div class=\"view-content-container\"><\/div>');appSettings.tpl['tplKillboardTabs']=_.template('<div id=\"kbTabContainer\"><div class=\"kbTabButton\" id=\"timelineTabButton\" rel=\"timeline\">TIMELINE<\/div><div class=\"kbTabButton\" id=\"killsTabButton\" rel=\"kills\">KILLS<\/div><div class=\"kbTabButton\" id=\"deathsTabButton\" rel=\"deaths\">DEATHS<\/div><\/div><div id=\"tabHeader\"><\/div><div id=\"kbTabPaneContainer\"><div class=\"kbTab\" id=\"timelineTab\"><\/div><div class=\"kbTab\" id=\"killsTab\"><\/div><div class=\"kbTab\" id=\"deathsTab\"><\/div><\/div><div id=\"tabEndCap\"><\/div>');appSettings.tpl['tplEmpireFilterBar']=_.template('<div id=\"empireFilterBar\"><div id=\"empireFilterBarText\">FILTER BY:<\/div><ul><li id=\"filterAllEmpiresButton\" class=\"selected\" rel=\"all\" data-filteroptions=\'all\'><span>All<\/span><\/li><li id=\"filterNCButton\" rel=\"nc\" data-filteroptions=\'kills\'><span class=\"nc\"><\/span><\/li><li id=\"filterTRButton\" rel=\"tr\" data-filteroptions=\'deaths\'><span class=\"tr\"><\/span><\/li><li id=\"filterVSButton\" rel=\"vs\" data-filteroptions=\'deaths\'><span class=\"vs\"><\/span><\/li><li id=\"filterNSButton\" rel=\"ns\" data-filteroptions=\'deaths\'><span class=\"ns\"><\/span><\/li><\/ul><\/div>');appSettings.tpl['tplTimelineNoDataRow']=_.template('<tr id=\"noDataRow\"><td id=\"killboardNoDataRow\" colspan=5 >NO DATA AVAILABLE<\/td><\/tr>');appSettings.tpl['tplKillsTableRow']=_.template('<tr class=\"killer <%= character.type.faction %>\"><td><%= killsRank %><\/td><td class=\"characterName\"><%= character.name.first != \'n\/a\' ? \'<a href=\"\' + appSettings.playerUrlRoot + \'\/#!\/\' + character_id + \'\"><span class=\"empireIcon \' + character.type.faction + \'\"><\/span>\' + character.name.first + \'<\/a>\' : \'<div class=\"noName\"><span class=\"noFaction\"><\/span>n\/a<\/div><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td><%= count %><\/td><td><em class=\"battlerank\" style=\"background-position: <%= brx %> <%= bry %>\"><\/em><span class=\"brNum\"><%= character.battle_rank ? character.battle_rank.value : \'n\/a\' %><\/span><\/td><td><%= character.forever.kill_death_ratio %><\/td><\/tr>');appSettings.tpl['tplKillboardKillsTable']=_.template('<table id=\"killsTable\"><thead><tr><th><\/th><th>Victim<\/th><th># Kills<\/th><th>Battle Rank<\/th><th class=\"kdr\">Kill &#47; Death Ratio<\/th><\/tr><\/thead><tbody><\/tbody><\/table><div id=\"killboardRightColumn\"><div id=\"killboardRightCap\"><\/div><div id=\"killboardRightContainer\"><div id=\"empireChart\"><\/div><div id=\"noKillboardData\"><span>NO DATA AVAILABLE<\/span><\/div><\/div><div id=\"killboardRightBottom\"><\/div><\/div>');appSettings.tpl['tplDeathsTableRow']=_.template('<tr class=\"death <%= character.type.faction %>\"><td><%= killsRank %><\/td><td class=\"characterName\"><%= character.name.first != \'n\/a\' ? \'<a href=\"\' + appSettings.playerUrlRoot + \'\/#!\/\' + character_id + \'\"><span class=\"empireIcon \' + character.type.faction + \'\"><\/span>\' + character.name.first + \'<\/a>\' : \'<div class=\"noName\"><span class=\"noFaction\"><\/span>n\/a<\/div><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td><%= count %><\/td><td><em class=\"battlerank\" style=\"background-position: <%= brx %> <%= bry %>\"><\/em><span class=\"brNum\"><%= character.battle_rank ? character.battle_rank.value : \'n\/a\' %><\/span><\/td><td><%= character.forever.kill_death_ratio %><\/td><\/tr>');appSettings.tpl['tplKillboardDeathsTable']=_.template('<table id=\"deathsTable\"><thead><tr><th><\/th><th>Killer<\/th><th># Deaths<\/th><th>Battle Rank<\/th><th class=\"kdr\">Kill &#47; Death Ratio<\/th><\/tr><\/thead><tbody><\/tbody><\/table><div id=\"killboardRightColumn\"><div id=\"killboardRightCap\"><\/div><div id=\"killboardRightContainer\"><div id=\"empireChart\"><\/div><div id=\"noKillboardData\"><span>NO DATA AVAILABLE<\/span><\/div><\/div><div id=\"killboardRightBottom\"><\/div><\/div>');appSettings.tpl['tplTimelineFilterBar']=_.template('<div id=\"timelineFilterBar\"><div id=\"filterBarText\">FILTER BY:<\/div><ul><li id=\"filterAllButton\" class=\"selected\" data-filteroptions=\'all\'><span>All<\/span><\/li><li id=\"filterKillsButton\" data-filteroptions=\'kills\'><span>Kills<\/span><\/li><li id=\"filterDeathsButton\" data-filteroptions=\'deaths\'><span>Deaths<\/span><\/li><\/ul><\/div>');appSettings.tpl['tplTimelineKillRow']=_.template('<tr class=\"kill <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><\/span><%= character ? character.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + character_id + \'\">\' + character.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td><%= continent %><\/td><td class=\"<%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"method-icon-container\"><img src=\"<%= weaponImage %>\"><\/div><span class=\"weapon\" data-weaponID=\"<%= attacker_weapon_id %>\"><%= weapon %><\/span><%= is_headshot == 1 ? \'<br>Headshot\' : \'\' %><\/td><\/tr>');appSettings.tpl['tplTimelineDeathRow']=_.template('<tr class=\"death <%= attacker ? attacker.type ? attacker.type.faction: \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= attacker ? attacker.type ? attacker.type.faction: \'n\/a\' : \'n\/a\' %>\"><\/span><%= attacker ? attacker.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + attacker_character_id + \'\">\' + attacker.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><br><em>KILLED BY<\/em><\/td><td><%= continent %><\/td><td class=\"<%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"method-icon-container\"><img src=\"<%= weaponImage %>\"><\/div><span class=\"weapon\" data-weaponID=\"<%= attacker_weapon_id %>\"><%= weapon %><\/span><%= is_headshot == 1 ? \'<br>Headshot\' : \'\' %><\/td><\/tr>');appSettings.tpl['tplTimelineSuicideRow']=_.template('<tr class=\"suicide <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><\/span><%= character ? character.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + character_id + \'\">\' + character.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td><%= continent %><\/td><td class=\"methodRow <%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"suicideIcon\"><span class=\"suicide\"><\/span><\/div>Suicide<\/td><\/tr>');appSettings.tpl['tplTimelineVehicleWeaponDeathRow']=_.template('<tr class=\"death <%= attacker ? attacker.type ? attacker.type.faction: \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= attacker ? attacker.type ? attacker.type.faction: \'n\/a\' : \'n\/a\' %>\"><\/span><%= attacker ? attacker.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + attacker_character_id + \'\">\' + attacker.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><br><em>KILLED BY<\/em><\/td><td><%= continent %><\/td><td class=\"<%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"method-icon-container\"><img src=\"<%= weaponImage %>\"><\/div><span class=\"vehicle\" data-vehicleID=\"<%= attacker_vehicle_id %>\"><%= vehicle %><\/span><br><span class=\"weapon\" data-weaponID=\"<%= attacker_weapon_id %>\"><%= weapon %><\/span><\/td><\/tr>');appSettings.tpl['tplTimelineVehicleWeaponKillRow']=_.template('<tr class=\"kill <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><\/span><%= character ? character.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + character_id + \'\">\' + character.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td><%= continent %><\/td><td class=\"<%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"method-icon-container\"><img src=\"<%= weaponImage %>\"><\/div><span class=\"vehicle\" data-vehicleID=\"<%= attacker_vehicle_id %>\"><%= vehicle %><\/span><br><span class=\"weapon\" data-weaponID=\"<%= attacker_weapon_id %>\"><%= weapon %><\/span><\/td><\/tr>');appSettings.tpl['tplTimelineVehicleKillRow']=_.template('<tr class=\"kill <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><\/span><%= character ? character.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + character_id + \'\">\' + character.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td><%= continent %><\/td><td class=\"<%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"method-icon-container\"><img src=\"<%= vehicleImage %>\"><\/div><span class=\"weapon\" <% if(attacker_weapon_id !== \'0\') { %> data-weaponID=\"<%= attacker_weapon_id %>\" <% } else { %> data-vehicleID=\"<%= attacker_vehicle_id %>\" <% } %> ><%= vehicle %><\/span><\/td><\/tr>');appSettings.tpl['tplTimelineVehicleDeathRow']=_.template('<tr class=\"death <%= attacker ? attacker.type ? attacker.type.faction: \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= attacker ? attacker.type ? attacker.type.faction: \'n\/a\' : \'n\/a\' %>\"><\/span><%= attacker ? attacker.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + attacker_character_id + \'\">\' + attacker.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><br><em>KILLED BY<\/em><\/td><td><%= continent %><\/td><td class=\"<%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"method-icon-container\"><img src=\"<%= vehicleImage %>\"><\/div><span class=\"weapon\" <% if(attacker_weapon_id !== \'0\') { %> data-weaponID=\"<%= attacker_weapon_id %>\" <% } else { %> data-vehicleID=\"<%= attacker_vehicle_id %>\" <% } %> ><%= vehicle %><\/span><\/td><\/tr>');appSettings.tpl['tplTimelineUnknownKillRow']=_.template('<tr class=\"unknownKill <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= character ? character.type ? character.type.faction : \'n\/a\' : \'n\/a\' %>\"><\/span><%= character ? character.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + character_id + \'\">\' + character.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td><%= continent %><\/td><td class=\"methodRow <%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"unknownIcon\"><span class=\"unknown\"><\/span><\/div>Unknown<\/td><\/tr>');appSettings.tpl['tplTimelineUnknownDeathRow']=_.template('<tr class=\"unknownDeath <%= attacker ? attacker.type ? attacker.type.faction : \'n\/a\' : \'n\/a\' %>\"><td><%= PS2.utils.killboardTimestampToDate(parseInt(timestamp), true) %><\/td><td><span class=\"faction <%= attacker ? attacker.type ? attacker.type.faction : \'n\/a\' : \'n\/a\' %>\"><\/span><%= attacker ? attacker.name ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/\' + attacker_character_id + \'\">\' + attacker.name.first + \'<\/a>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' : \'<span class=\"noName\">n\/a<\/span><em class=\"kbTooltip\"><\/em><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><br><em>KILLED BY<\/em><\/td><td><%= continent %><\/td><td class=\"methodRow <%= is_headshot == 1 ? \'headshot\' : \'\' %>\"><div class=\"unknownIcon\"><span class=\"unknown\"><\/span><\/div>Unknown<\/td><\/tr>');appSettings.tpl['tplTimelineTableHeader']=_.template('<div id=\"timelineTableContainer\"><table id=\"timelineTable\"><thead><th>Time<\/th><th>Event<\/th><th>Location<\/th><th class=\"method\">Method<\/th><\/thead><tbody><\/tbody><\/table><div id=\"killboardRightColumn\"><div id=\"killboardRightCap\"><\/div><div id=\"killboardRightContainer\"><div id=\"empireChart\"><\/div><div id=\"locationChart\"><\/div><div id=\"methodChart\"><\/div><div id=\"noKillboardData\"><span>NO DATA AVAILABLE<\/span><\/div><\/div><div id=\"killboardRightBottom\"><\/div><\/div><\/div>');

/* end /scripts/players/tpl/killboard-tpl.js*/

/* start /scripts/players/tpl/leaderboards-tpl.js*/
appSettings.tpl['tplLbContainer']=_.template('<div id=\"secLeaderboards\" class=\"s-lb\"><div id=\"lbHeader\"><\/div><div id=\"lbFilters\"><\/div><div id=\"lbContent\"><\/div><div id=\"lbFooter\"><\/div><\/div>');appSettings.tpl['tplLbHeader']=_.template('<h2 id=\"leaderboardsHeader\">LEADERBOARDS<\/h2><div class=\"view-options\"><span class=\"view-text\">CHANGE VIEW:<\/span><a class=\"gridView\" rel=\'top\'><\/a><a class=\"listView\" rel=\'list\'><\/a><\/div><div class=\"divider\"><\/div>');appSettings.tpl['tplLbFilters']=_.template('<div class=\"lb-options\"><span id=\"filterByText\">FILTER BY:<\/span><ul><li class=\"filter-1 disabled\" id=\"lbOneLife\"><span style=\"opacity: 0.4; cursor: default;\">One Life<\/span><\/li><li class=\"filter-1\" id=\"lbDaily\" rel=\"Daily\" ><span>Daily<\/span><\/li><li class=\"filter-1\" id=\"lbWeekly\" rel=\"Weekly\"><span>Weekly<\/span><\/li><li class=\"filter-1\" id=\"lbMonthly\" rel=\"Monthly\"><span>Monthly<\/span><\/li><li class=\"filter-1\" id=\"lbForever\" rel=\"Forever\"><span>Forever<\/span><\/li><\/ul><ul><li class=\"filter-2\" id=\"lbFriends\" rel=\"Friends\"><span>Friends<\/span><\/li><li class=\"filter-2\" id=\"lbAll\" rel=\"All\"><span>All<\/span><\/li><\/ul> <div class=\"vertDivider\"><\/div>\t<div id=\"perPageDropdown\"><span class=\"perPage\">PER PAGE<\/span><ul class=\"sub-select\"><li><a href=\"javascript:;\" id=\"page00\" class=\"link-page\" rel=\"5\">5<\/a><\/li><li><a href=\"javascript:;\" id=\"page01\" class=\"link-page\" rel=\"10\">10<\/a><\/li><li><a href=\"javascript:;\" id=\"page02\" class=\"link-page\" rel=\"25\">25<\/a><\/li><li><a href=\"javascript:;\" id=\"page03\" class=\"link-page\" rel=\"50\">50<\/a><\/li><li><a href=\"javascript:;\" id=\"page04\" class=\"link-page\" rel=\"100\">100<\/a><\/li><div class=\"sub-select-bottom\"><\/div><\/ul><\/div><div id=\"selectWorldDropdown\"><span class=\"worldSelect\">SELECT WORLD<\/span><ul class=\"sub-select\"><li><a href=\"javascript:;\" id=\"worldAll\" class=\"link-world\" rel=\"All\">All Worlds<\/a><\/li><div class=\"sub-select-bottom\"><\/div><\/ul><\/div><span id=\"filterByWorld\"><span class=\"icn-world\"><\/span><em><\/em><\/span><div class=\"lb-divider\"><\/div><\/div>');appSettings.tpl['tplLbTop']=_.template('<div id=\"topKills\" class=\"topContainer\"><h1><span><\/span>TOP KILLS<\/h1><div class=\"topItemContainer\"><img style=\"margin:180px 0 0 144px\" src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/loading_ani_small.gif?v=3203097680\"><br><span style=\"width:100%; text-align:center; opacity:0.5; margin-top:-3px;\">Loading...<\/span><\/div><div class=\"topItemFooter\"><\/div><\/div><div id=\"topScore\" class=\"topContainer\"><h1><span><\/span>TOP SCORE<\/h1><div class=\"topItemContainer\"><img style=\"margin:180px 0 0 144px\" src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/loading_ani_small.gif?v=3203097680\"><br><span style=\"width:100%; text-align:center; opacity:0.5; margin-top:-3px;\">Loading...<\/span><\/div><div class=\"topItemFooter\"><\/div><\/div><div id=\"topTime\" class=\"topContainer\"><h1><span><\/span>MOST TIME PLAYED<\/h1><div class=\"topItemContainer\"><img style=\"margin:180px 0 0 144px\" src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/loading_ani_small.gif?v=3203097680\"><br><span style=\"width:100%; text-align:center; opacity:0.5; margin-top:-3px;\">Loading...<\/span><\/div><div class=\"topItemFooter\"><\/div><\/div>');appSettings.tpl['tplTopEmpty']=_.template('<p class=\"lbTopEmptyText\">NO DATA AVAILABLE<\/p>');appSettings.tpl['tplTopItem']=_.template('<div class=\"rankContainer\"><div class=\"rank\"><%= rank %><\/div><div class=\'factionIcon <%= faction %>\'><\/div><\/div><div class=\"headshotContainer\"><\/div><div class=\"statsContainer\"><p class=\"lbTopName <%= unknown ? \'unknown\' : \'\' %>\"><%= name.first %><\/p><p class=\"lbTopValue\"><%= PS2.utils.addCommas(value) %><\/p><p class=\"lbTopWorld\"><%= world %><\/p><\/div>');appSettings.tpl['tplLbList']=_.template('<div id=\"lbListTable\"><table class=\"lb-table\"><thead><tr><th class=\"rank\">Rank<\/th><th class=\"name\">Player<\/th><th class=\"kills\"><em><\/em>Kills<\/th><th class=\"time\"><em><\/em>Time<\/th><th class=\"score\"><em><\/em>Score<\/th><th class=\"extra1\">KDR<\/th><th class=\"extra2\">Accuracy<\/th><\/tr><\/thead><tbody><tr class=\"emptyLB\"><td colspan=\"7\" style=\"height:200px\"><img src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/loading_ani_small.gif?v=3203097680\"><br><span style=\"width:100%; text-align:center; opacity:0.5; margin-top:-25px;\">Loading...<\/span><\/td><\/tr><\/tbody><\/table><\/div><div id=\"lbListActiveChar\"><\/div><div id=\"lbListPagination\"><\/div>');appSettings.tpl['tplLbListTable']=_.template('<thead><tr><th class=\"rank\">Rank<\/th><th class=\"name\">Player<\/th><th class=\"kills sortable\" rel=\"Kills\"><em><\/em>Kills<\/th><th class=\"time sortable\" rel=\"Time\"><em><\/em>Time<\/th><th class=\"score sortable\" rel=\"Score\"><em><\/em>Score<\/th><th class=\"extra1\">KDR<\/th><th class=\"extra2\">Accuracy<\/th><\/tr><\/thead><tbody><\/tbody>');appSettings.tpl['tplLbListEmpty']=_.template('<td colspan=\"7\" style=\"height:200px\">NO DATA AVAILABLE<\/td>');appSettings.tpl['tplLbListRow']=_.template('<td class=\"rank\"><%= rank %><\/td><td class=\"name <%= faction %>\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= character_id %>\"><em><\/em><%= name.first %><\/a><\/td><td class=\"kills <%= lbType == \'Kills\' ? \'active\' : \'\' %>\"><%= PS2.utils.addCommas(kills) %><\/td><td class=\"time <%= lbType == \'Time\' ? \'active\' : \'\' %>\"><%= time == \'n\/a\' ? \'n\/a\' : PS2.utils.secondsToHours(time) %><\/td><td class=\"score <%= lbType == \'Score\' ? \'active\' : \'\' %>\"><%= PS2.utils.addCommas(score) %><\/td><td class=\"extra1\"><%= kdr %><\/td><td class=\"extra2\"><%= accuracy + \'%\' %><\/td>');appSettings.tpl['tplLbListActiveChar']=_.template('<tbody><tr><td class=\"rank\"><%= rank %><\/td><td class=\"name <%= faction %>\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= character_id %>\"><em><\/em><%= name.first %><\/a><\/td><td class=\"kills <%= lbType == \'Kills\' ? \'active\' : \'\' %>\"><%= PS2.utils.addCommas(kills) %><\/td><td class=\"time <%= lbType == \'Time\' ? \'active\' : \'\' %>\"><%= time == \'n\/a\' ? \'n\/a\' : PS2.utils.secondsToHours(time) %><\/td><td class=\"score <%= lbType == \'Score\' ? \'active\' : \'\' %>\"><%= PS2.utils.addCommas(score) %><\/td><td class=\"extra1\"><%= kdr %><\/td><td class=\"extra2\"><%= accuracy + \'%\' %><\/td><\/tr><\/tbody>');appSettings.tpl['tplLbListPagination']=_.template('<div id=\"findMe\"><\/div><div id=\"lbPagination\"><div class=\"pagAlign\"><div id=\"firstBtn\" class=\"lbPagBtn\"><\/div><div id=\"prevBtn\" class=\"lbPagBtn\"><\/div><div id=\"pagNumber\">Page <%= currentPage %> of <%= totalPages %><\/div><div id=\"nextBtn\" class=\"lbPagBtn\"><\/div><div id=\"lastBtn\" class=\"lbPagBtn\"><\/div><\/div><\/div><div id=\"changeView\"><div class=\"view-options\"><a class=\"listView on\" rel=\'list\'><\/a><a class=\"gridView\" rel=\'top\'><\/a><span class=\"view-text\">CHANGE VIEW:<\/span><\/div><\/div>');appSettings.tpl['tplPerPageItem']=_.template('<a class=\"link-page\" rel=\"<%= value %>\"><%= value %><\/a>');appSettings.tpl['tplWorldSelectItem']=_.template('<a rel=\"<%= server_id %>\"><%= name.en %><\/a>');appSettings.tpl['tplLbFindMeButton']=_.template('<a id=\"my_rank\">Find Me<\/a>');

/* end /scripts/players/tpl/leaderboards-tpl.js*/

/* start /scripts/players/tpl/main-nav-tpl.js*/
appSettings.tpl['tplMainNav']=_.template('<ul><% if(activeChar) {activeChar = \'\/\' + activeChar}%><li><a class=\"mainNavBtn nav-profile active\" id=\"myprofile_btn\" href=\"\/login\"><em><\/em><span class=\"profile\">My Profile<\/span><\/a><\/li><li><a class=\"mainNavBtn nav-leaderboards nav-leaderboard\" id=\"leaderboard_btn\" href=\'<%=  appSettings.playerRootUrl %>\/#!\/leaderboards\'><em><\/em><span class=\"leaderboards\">Leaderboards<\/span><\/a><\/li><li class=\"mainNavBtn last btn-outter\"><a href=\"https:\/\/launch.daybreakgames.com\/installer\/PS2_setup.exe\" id=\"downloadOrLaunch\" class=\"btn-play\" ><span id=\"downloadOrLaunchText\">PLAY FREE<\/span><\/a><\/li><div id=\"dropdownContainer\"><\/div><\/ul>');appSettings.tpl['tplMainNavDropdown']=_.template('<li><a href=\'<%=  appSettings.playerRootUrl %>\/#!\/<%= character_id %>\' class=\"<%= activeChar %> <%= faction %>\"><div class=\"charFactionIcon <%= faction %>\"><\/div><span><%= name.first %><\/span><div class=\"activeCharIcon\">ACTIVE<\/div><\/a><\/li>');appSettings.tpl['tplMainNavDropdownContainer']=_.template('<div id=\"charSelect\"><span id=\"charSelectArrow\" style=\"width:100%; height:100%; float:right;\"><\/span><ul class=\"sub-select\"><\/ul><\/div>');

/* end /scripts/players/tpl/main-nav-tpl.js*/

/* start /scripts/players/tpl/outfits-tpl.js*/
appSettings.tpl['tplOutfitsHeader']=_.template('<div class=\"header\"><h2>OUTFITS<\/h2><div class=\"divider\"><\/div><\/div><div class=\"view-content-container\"><div id=\"outfits-top\"><\/div><div id=\"outfits-middle\"><\/div><div id=\"outfits-bottom\"><\/div><\/div>');appSettings.tpl['tplOutfitDetailView']=_.template('<div id=\"outfitDetailContainer\"><div id=\"outfitDetailHeader\"><div id=\"outfitEmpire\" class=\"<%= leader.type.faction %>\"><\/div><div id=\"outfitName\"><%= alias != \"\" ? \'[\' + alias + \'] \' : \'\' %><%= name %><\/div><div id=\"diagLines\"><\/div><div id=\"outfitCreateDate\"><span>Date Created: <\/span><%= PS2.utils.timestampToDate(time_created, true) %><\/div><div id=\"outfitTotalMembers\"><span>Total Members: <\/span><%= member_count %><\/div><\/div><div id=\"outfitDetailTable\"><img id=\"outfitLoader\" src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/loading_ani.gif?v=3263509970\"><\/div><div id=\"outfitDetailPagination\"><\/div><div class=\"clearfix\"><\/div><\/div>');appSettings.tpl['tplOutfitDetailPagination']=_.template('<div id=\"pagContainer\"><div class=\"pagButton\" id=\"first\"><\/div><div class=\"pagButton\" id=\"prev\"><\/div><div id=\"pagNum\">Page <%= currentMemberPage %> of <%= memberPages %><div class=\"loader\"><\/div><\/div><div class=\"pagButton\" id=\"next\"><\/div><div class=\"pagButton\" id=\"last\"><\/div><\/div>');appSettings.tpl['tplOutfitTableView']=_.template('<thead><tr><th>Member<\/th><th>Rank<\/th><th>Battle Rank<\/th><th>Last Played Class<\/th><th>SPM<\/th><th>Date Joined<\/th><th>Online Status<\/th><\/tr><\/thead><tbody><\/tbody>');appSettings.tpl['tplOutfitTableItem']=_.template('<td class=\"memberName\"><%= character.name.first != i18n.outfitModel.outfitMemberManip.unknown ? \'<a href=\"\' + appSettings.playerRootUrl +\'\/#!\/\' + character_id + \'\">\' + character.name.first + \'<\/a>\' : \'<em>\' + i18n.outfitModel.outfitMemberManip.unknown + \'<\/em><span class=\"unknownTooltip\"><\/span><div class=\"tooltip\"><div class=\"copy\">This character has either been deleted from the game or has not yet been saved.<\/div><\/div>\' %><\/td><td class=\"outfitRank\"><%= rank %><\/td><td class=\"battleRank\"><em class=\"brIcon\" style=\"background-position: <%= brx %> <%= bry %>\"><\/em><div class=\"brText\"><%= character.type.rank %><\/div><\/td><td class=\"lastPlayed\"><em class=\"classIcon <%= characterClass.toLowerCase().replace(\' \', \'_\') %>\"><\/em><div class=\"classText\"><%= characterClass == i18n.outfitModel.outfitMemberManip.unknown ? \'<span>\' + i18n.outfitModel.outfitMemberManip.unknown + \'<\/span>\' : characterClass %><\/div><\/td><td class=\"memberSPM\"><%= spm %><\/td><td class=\"dateJoined\"><%= PS2.utils.timestampToDate(member_since, true) %><\/td><td class=\"onlineStatus\"><%= online %><em class=\"<%= online.toLowerCase() %>\"><\/em><\/td>');appSettings.tpl['tplOutfitListEmptyTable']=_.template('<td colspan=\"6\">NO RESULTS<\/td>');appSettings.tpl['tplOutfitLoader']=_.template('<img id=\"outfitLoader\" src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/loading_ani.gif?v=3263509970\">');

/* end /scripts/players/tpl/outfits-tpl.js*/

/* start /scripts/players/tpl/planetstatus-tpl.js*/
appSettings.tpl['tplMap']=_.template('<div class=\"header\"><h2>PLANET STATUS<\/h2><div class=\"divider\"><\/div><div class=\"items clearfix\"><\/div><\/div><div id=\"fullscreenButtonContainer\"><div id=\"fullScreenButton\"><span>FULLSCREEN<\/span><em><\/em><\/div><\/div><div id=\"mapContainer\"><div id=\"mapName\"><\/div><div id=\"exitFullscreen\">CLICK HERE OR PRESS &#91;ESC&#93; TO EXIT FULLSCREEN<\/div><div id=\"mapBorder\"><\/div><div id=\"mapSpinner\"><\/div><div id=\"mapErrorContainer\"><div id=\"mapError\"><h1>MAP DATA UNAVAILABLE<\/h1><span>Some elements for this map were unavailable. Map may have limited functionality.<\/span><button>OK<\/button><\/div><\/div><div id=\"map_canvas\"><\/div><div id=\"mapZoom\"><div id=\"zoomIn\"><\/div><div class=\"clearfix\"><\/div><input type=\"range\" min=\"1\" max=\"5\" step=\"1.0\" value=\"0\" id=\"mapZoomSlider\" \/><div class=\"clearfix\"><\/div><div id=\"zoomOut\"><\/div><\/div><div id=\"mapNav\"><map id=\"navMap\" name=\"navMap\"><area shape=\"poly\" id=\"panUp\" coords=\"13,10,33,29,54,29,73,10,73,0,13,0\"\/><area shape=\"poly\" id=\"panRight\" coords=\"75,14,57,32,57,54,76,72,86,72,86,14\"\/><area shape=\"poly\" id=\"panDown\" coords=\"73,74,54,56,33,56,14,74,14,86,73,86\"\/><area shape=\"poly\" id=\"panLeft\" coords=\"30,31,11,13,0,13,0,72,11,72,30,54\"\/><\/map><img src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/map\/navBlank.png?v=4230443027\" usemap=\"#navMap\" width=\"86\" height=\"86\"\/><\/div><div id=\"mapInfoContainer\"><div class=\"mapHeader\">REGIONS<\/div><div id=\"mapInfo\"><div id=\"hexFactionImage\"><\/div><div class=\"mapLoc\"><\/div><\/div><div class=\"mapCap\"><\/div><\/div><div id=\"mapFilters\"><div class=\"mapHeader\">DISPLAY<div id=\"showAll\"><em><\/em><span>HIDE ALL<\/span><\/div><\/div><ul id=\"mapRegions\" class=\"allOptions\"><span>TERRITORY CONTROL<\/span><div class=\"dotted-divider\"><\/div><li id=\"showRegions\" class=\"lastItem\">Territory Control<em class=\"selected\"><\/em><\/li><span>LATTICE<\/span><div class=\"dotted-divider\"><\/div><li id=\"showLattice\" class=\"lastItem\">Lattice Lines<em class=\"selected\"><\/em><\/li><span>BASES<\/span><div class=\"dotted-divider\"><\/div><li id=\"showBase\" class=\"lastItem\">Base Markers<em class=\"selected\"><\/em><\/li><\/ul><div class=\"mapCap\"><\/div><\/div><div class=\"mapFilterButton show\"><\/div><div id=\"mapDropdowns\"><div id=\"worldDD\" class=\"mapDD\"><span><em><\/em>WORLD<div class=\"endCap\"><\/div><\/span><ul class=\"sub-select\"><\/ul><\/div><div id=\"continentDD\" class=\"mapDD\"><span><em><\/em>CONTINENT<div class=\"endCap\"><\/div><\/span><ul class=\"sub-select\"><\/ul><\/div><\/div><\/div>');

/* end /scripts/players/tpl/planetstatus-tpl.js*/

/* start /scripts/players/tpl/popups-tpl.js*/
appSettings.tpl['tplPopupGeneric']=_.template('<a class=\"close\"><\/a><div class=\"tl\"><\/div><div class=\"tr\"><\/div><div class=\"bl\"><\/div><div class=\"br\"><\/div><div class=\"content\"><h4><span><%= parentDetails.name %> Details<\/span><\/h4><div class=\"desc\"><div class=\"left-col\"><div class=\"popup-picture\"><div class=\"useable-by\"><\/div><img src=\"<%= parentDetails.imgUrl %>\" \/><\/div><div class=\"chart\"><\/div><\/div><div class=\"details\"><div class=\"description\"><%= description %><\/div><\/div><div class=\"characteristics\"><\/div><div class=\"attachments\"><\/div><\/div><\/div>');appSettings.tpl['tplAttachmentFramework']=_.template('<div class=\"attachments-header\"><h4>Attachments<\/h4><\/div><div class=\"carousel\"><\/div><div class=\"attachment-info <%= parentID %>\"><\/div>');appSettings.tpl['tplPopupWeaponGraph']=_.template('<div class=\"graph\"><\/div>');appSettings.tpl['tplPopupWeaponDetails']=_.template('<div class=\"deep-details\"><table><tr class=\"alt\"><td>TYPE<\/td><td class=\"data\"><%= weapon.item_category_name.name[i18n.langCode] %><\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Type<\/td><\/tr><tr><td>FIRE RATE<\/td><td class=\"data\"><%= rpm %> RPM<\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">The rate of fire in rounds per minute.<\/td><\/tr><tr class=\"alt\"><td>DAMAGE<\/td><% if(primary_fire_mode.damage_type == \"Damage\") { %><td class=\"data\"><%= primary_fire_mode.damage %><\/td><% } else { %><td class=\"data\"><%= primary_fire_mode.damage_max %> \/ <%= primary_fire_mode.damage_max_range %>m \/ <%= primary_fire_mode.damage_min %> \/ <%= primary_fire_mode.damage_min_range %>m<\/td><% } %><\/tr><tr class=\"tooltip\"><% if(primary_fire_mode.damage_type == \"Damage\") { %><td class=\"copy\" colspan=\"2\">Damage<\/td><% } else { %><td class=\"copy\" colspan=\"2\">Maximum Damage \/ Maximum Damage Range \/ Minimum Damage \/ Minimum Damage Range<\/td><% } %><\/tr><% if (primary_fire_mode.indirect_damage_max) { %><tr><td>INDIRECT DAMAGE<\/td><td class=\"data\"><%= primary_fire_mode.indirect_damage_max %> \/ <%= primary_fire_mode.indirect_damage_max_range %>m \/ <%= primary_fire_mode.indirect_damage_min %> \/ <%= primary_fire_mode.indirect_damage_min_range %>m<\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Maximum Damage \/ Maximum Damage Range \/ Minimum Damage \/ Minimum Damage Range<\/td><\/tr><% } %><% if(primary_fire_mode.muzzle_velocity) { %><tr><td>MUZZLE VELOCITY<\/td><td class=\"data\"><%= primary_fire_mode.muzzle_velocity %>m\/s<\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">The muzzle velocity in meters per second.<\/td><\/tr><% } %><tr class=\"alt\"><td>RELOAD SPEED<\/td><td class=\"data\"><%= longReload %>ms \/ <%= shortReload %><\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Reload time when the weapon is empty \/ Reload time when the weapon has ammo<\/td><\/tr><% if ( parseInt(show_clip_size) ) { %><tr><td>AMMUNITION<\/td><td class=\"data\"><%= clip_size %> \/ <%= capacity %><\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Magazine Size \/ Total ammunition capacity<\/td><\/tr><% } %><tr class=\"alt\"><td>HIP ACCURACY<\/td><td class=\"data\"><% print( hipFire.join(\' \/ \') ) %><\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Crouch Accuracy \/ Crouch Move Accuracy \/ Stand Accuracy \/ Stand Move Accuracy \/ Accuracy Loss Per Shot Fired<\/td><\/tr><% if(zoomFire.length) { %><tr><td>AIM ACCURACY<\/td><td class=\"data\"><% print( zoomFire.join(\' \/ \') ) %><\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Crouch Accuracy \/ Crouch Move Accuracy \/ Stand Accuracy \/ Stand Move Accuracy \/ Accuracy Loss Per Shot Fired<\/td><\/tr><% } %><tr class=\"alt\"><td>IRON SIGHT ZOOM<\/td><td class=\"data\"><%= primary_fire_mode.default_zoom %>x<\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Zoom amount when in iron sights.<\/td><\/tr><% if ( parseInt(show_fire_modes) ) { %><tr><td>FIRE MODES<\/td><td class=\"data\"><% print( fire_mode_list.join(\' \/ \') ); %><\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">The fire modes available to this weapon.<\/td><\/tr><% } %><% if(weapon.item_category_id == \"4\") { %><tr class=\"alt\"><td>PELLETS<\/td><td class=\"data\"><%= primary_fire_mode.pellets_per_shot %> \/ <%= primary_fire_mode.pellet_spread %><\/td><\/tr><tr class=\"tooltip\"><td class=\"copy\" colspan=\"2\">Number of Pellets per Shot \/ Pellet Spread Coefficient<\/td><\/tr><% } %><\/table><\/div>');appSettings.tpl['tplAttachmentItem']=_.template('<div class=\"scrollable\"><div class=\"items\"><\/div><\/div><div class=\"navigation\"><em class=\"arrow left\"><\/em><div class=\"navi\"><\/div><em class=\"arrow right\"><\/em><\/div>');appSettings.tpl['tplAttachmentInfoItem']=_.template('<div class=\"info -<%= attachmentNumber %>\"><h4><% print(PS2.utils.getLocaleString(attachment_details.name, i18n.langCode, \"<em>[no name]<\/em>\")) %><\/h4><p><% print(PS2.utils.getLocaleString(attachment_details.description, i18n.langCode, \"n\/a\")) %><\/p><\/div>');appSettings.tpl['tplAttachmentIconItem']=_.template('<div class=\"item\"><img class=\"trigger attachmentImage\" rel=\"<%= attachmentNumber %>\" src=\"<%= imagePath %>\" \/><\/div>');appSettings.tpl['tplNoAttachments']=_.template('<p style=\"font-size:11px;margin-left:10px\">There are currently no attachments available for this <%= itemType %>.<\/p>');

/* end /scripts/players/tpl/popups-tpl.js*/

/* start /scripts/players/tpl/profile-tpl.js*/
appSettings.tpl['tplProfile']=_.template('<div class=\"header\"><h2>Statistics<\/h2><div class=\"divider\"><\/div><div class=\"items clearfix\"><\/div><\/div><div class=\"view-content-container\"><div id=\"profileOverview\"><div id=\"profileImage\" class=\"<% print(details?(details.empire?(details.empire.name):\'\'):\'\')%>\"><div id=\"paperdoll\" class=\"<% print(details?(details.empire?(details.empire.name):\'\'):\'\')%>\"><img class=\"<% print(details?(details.empire?(details.empire.name):\'\'):\'\')%>\" src=\"<%= details.paperdollImage %>\" \/><\/div><div id=\"battlerank\" style=\"background-image:url(\'https:\/\/www-cdn.planetside2.com\/images\/players\/global\/battlerank-icons\/br-<%= details.empire.name %>-<%= stats.base.battleRank %>.png?v=1105389998\')\"><%= stats.base.battleRank %><\/div><\/div><div id=\"profileMainStats\"><div id=\"progressOverview\"><div id=\"overviewHeader\"><\/div><div id=\"battlerankProgress\"><div class=\"label\">Battle Rank<\/div><div id=\"currentBR\"><%= stats.base.battleRank %><\/div><div id=\"BRProgressBarBkgd\"><div id=\"BRProgressBar\" style=\"width:<%= stats.base.percentToNextRank %>%;\"><\/div><\/div><div id=\"nextBR\"><%= stats.base.battleRankNext %><\/div><\/div><div id=\"certProgress\"><div class=\"label\">Certification Points<\/div><table id=\"certProgressTable\"><tbody id=\"certProgressTableBody\"><tr><td id=\"certLogoTable\"><div id=\"certLogo\"><\/div><\/td><td id=\"currentCertPointsTable\"><div id=\"currentCertPoints\"><%= PS2.utils.addCommas(details.certs.currentPoints) %><\/div><\/td><td id=\"CertProgressBarTable\"><div id=\"CertProgressBarBkgd\"><div id=\"progBarLeft\"><\/div><div id=\"progBarRight\"><\/div><div id=\"CertProgressBar\" style=\"width:<%= details.certs.percentageToNext %>%;\"><div id=\"CertProgressBarCap\" style=\"display: <% print( (details.certs.percentageToNext >= 2)? \'block\' : \'none\' ) %>\"><\/div><\/div><div id=\"CertProgressPercent\"><%= details.certs.percentageToNext %>%<\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><div class=\"mainStatsBox\"><div id=\"kpf\"><div class=\"label\">Kills per Empire<\/div><div id=\"kpfCharts\"><div id=\"kpfChart1Container\"><div id=\"kpfChart1\"><span>NO KILLS<\/span><\/div><div id=\"kpfPercent1\"><\/div><\/div><div id=\"kpfChart2Container\"><div id=\"kpfChart2\"><span>NO KILLS<\/span><\/div><div id=\"kpfPercent2\"><\/div><\/div><\/div><div class=\"kpf-text\"><div class=\"kpfBox\" id=\"kpfFaction01\"><div class=\"factionIcon <%= rivalFaction1 %>\"><\/div><div class=\"kpfValue\"><em><%= rivalFaction1.toUpperCase() %> KILLS<\/em><br><%= PS2.utils.addCommas(rivalFaction1Kills) %><\/div><\/div><div class=\"kpfBox\" id=\"kpfFaction02\"><div class=\"factionIcon <%= rivalFaction2 %>\"><\/div><div class=\"kpfValue\"><em><%= rivalFaction2.toUpperCase() %> KILLS<\/em><br><%= PS2.utils.addCommas(rivalFaction2Kills) %><\/div><\/div><\/div><\/div><div id=\"resources\"><div class=\"label\">NANITE Resources<\/div><div class=\"resourceBox\" id=\"resource04\"><div class=\"resourceIcon\"><\/div><div class=\"resourceValue\"><%= details.currency.nanite %><\/div><\/div><\/div><\/div><div class=\"mainStatsBox tabbed\"><div id=\"statsTabButtons\"><div class=\"tabButtons active\" id=\"scoreTabButton\">Score<\/div><div class=\"tabButtons\" id=\"killsTabButton\">Kills<\/div><\/div><div class=\"profile-tab\" id=\"scoreTab\"><div class=\"section\"><div class=\"icon total-score\"><\/div><div class=\"stats-block\"><div class=\"label\">TOTAL SCORE<\/div><div class=\"data\"><%= PS2.utils.addCommas(stats.base.score) %><\/div><\/div><\/div><div class=\"dotted-divider\"><\/div><div class=\"section\"><div class=\"icon score-min\"><\/div><div class=\"stats-block\"><div class=\"label\">SCORE PER MINUTE<\/div><div class=\"data\"><%= stats.base.spm %><\/div><\/div><\/div><div class=\"dotted-divider\"><\/div><div class=\"hiChart\"><div id=\"scoreAverageGraph\" class=\"graph\"><\/div><div class=\"graph-data\"><div class=\"data-block\"><div class=\"data\" id=\"lb_stats_dailyScore\"><%= PS2.utils.addCommas(stats.historical.score.day.d01) %><\/div><\/div><div class=\"data-block\"><div class=\"data\" id=\"lb_stats_weeklyScore\"><%= PS2.utils.addCommas(stats.historical.score.week.w01) %><\/div><\/div><div class=\"data-block last\"><div class=\"data\" id=\"lb_stats_monthlyScore\"><%= PS2.utils.addCommas(stats.historical.score.month.m01) %><\/div><\/div><\/div><\/div><\/div><div class=\"profile-tab\" id=\"killsTab\"><div class=\"section\"><div class=\"icon total-kills\"><\/div><div class=\"stats-block\"><div class=\"label\">TOTAL KILLS<\/div><div class=\"data\"><%= PS2.utils.addCommas(stats.historical.kills.all_time) %><\/div><\/div><\/div><div class=\"dotted-divider\"><\/div><div class=\"section\"><div class=\"icon killsPerMin\"><\/div><div id=\"lifeKills\" class=\"stats-block\"><div id=\"lifeKillsText\" class=\"label\">KILLS PER MINUTE<\/div><div class=\"data\"><%= stats.base.kpm %><\/div><\/div><\/div><div class=\"dotted-divider\"><\/div><div class=\"hiChart\"><div id=\"killsAverageGraph\" class=\"graph\"><\/div><div class=\"graph-data\"><div class=\"data-block\"><div class=\"data\" id=\"lb_stats_dailyKills\"><%= PS2.utils.addCommas(stats.historical.kills.day.d01) %><\/div><\/div><div class=\"data-block\"><div class=\"data\" id=\"lb_stats_weeklyKills\"><%= PS2.utils.addCommas(stats.historical.kills.week.w01) %><\/div><\/div><div class=\"data-block last\"><div class=\"data\" id=\"lb_stats_monthlyKills\"><%= PS2.utils.addCommas(stats.historical.kills.month.m01) %><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div id=\"profileDetails\"><div class=\"profileDetailsBox_3across\" id=\"topWeapons\"><div class=\"header\">Top Weapons<\/div><div class=\"container\"><div class=\"content\"><div id=\"noWeaponData\"><div id=\"noWeaponDataText\">WEAPON DATA UNAVAILABLE<\/div><\/div><\/div><div class=\"bottom-link\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= id %>\/weapons\"><span>VIEW WEAPONS<\/span><em class=\"goto-arrows\"><\/em><\/a><\/div><\/div><\/div><div class=\"profileDetailsBox_3across\" id=\"overallStats\"><div id=\"overallStatsHeader\" class=\"header\">Overall Stats<\/div><div class=\"container\"><div class=\"scroll-pane\"><div class=\"label stats\">Kills<\/div><div class=\"statsValue\"><%= stats.historical.kills.all_time ? PS2.utils.addCommas(stats.historical.kills.all_time) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Deaths<\/div><div class=\"statsValue\"><%= stats.historical.deaths.all_time ? PS2.utils.addCommas(stats.historical.deaths.all_time) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">K\/D Ratio<\/div><div class=\"statsValue\"><%= stats.base.kdRatio ? stats.base.kdRatio : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Assists<\/div><div class=\"statsValue\"><%= stats.base.assists ? PS2.utils.addCommas(stats.base.assists) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Facility Captures<\/div><div class=\"statsValue\"><%= stats.historical.facility_capture ? PS2.utils.addCommas(stats.historical.facility_capture.all_time) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Facilities Defended<\/div><div class=\"statsValue\"><%= stats.historical.facility_defend ? PS2.utils.addCommas(stats.historical.facility_defend.all_time) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Score<\/div><div class=\"statsValue\"><%= stats.base.score ? PS2.utils.addCommas(stats.base.score) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Total Time Played<\/div><div class=\"statsValue\"><%= details.minutesPlayed ? PS2.utils.convertMilliToTime((details.minutesPlayed * 60 * 1000), true) : \'n\/a\' %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Enemy Vehicles Destroyed<\/div><div class=\"statsValue\"><%= PS2.utils.addCommas(stats.base.vehiclesDestroyed) %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Medal Count<\/div><div class=\"statsValue\"><%= PS2.utils.addCommas(stats.base.medalCount) %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Infantry Accuracy<\/div><div class=\"statsValue\"><%= stats.base.weaponAccuracy ? (stats.base.weaponAccuracy + \"%\") : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Infantry Shots Fired<\/div><div class=\"statsValue\"><%= stats.base.weaponFireCount ? PS2.utils.addCommas(stats.base.weaponFireCount) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Infantry Shots Hit<\/div><div class=\"statsValue\"><%= stats.base.weaponHitCount ? PS2.utils.addCommas(stats.base.weaponHitCount) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Vehicle Accuracy<\/div><div class=\"statsValue\"><%= stats.base.vehicleAccuracy ? (stats.base.vehicleAccuracy + \"%\") : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Vehicle Shots Fired<\/div><div class=\"statsValue\"><%= stats.base.vehicleFireCount ? PS2.utils.addCommas(stats.base.vehicleFireCount) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label stats\">Vehicle Shots Hit<\/div><div class=\"statsValue\"><%= stats.base.vehicleHitCount ? PS2.utils.addCommas(stats.base.vehicleHitCount) : \"n\/a\" %><\/div><div class=\"dotted-divider\"><\/div><\/div><\/div><\/div><div class=\"profileDetailsBox_3across\" id=\"classesOverview\"><\/div><\/div><\/div>');appSettings.tpl['tplProfileTopweapons']=_.template('<div class=\"weapon modal-trigger\"><div class=\"openModal\"><\/div><div class=\"rank\"><%= weaponNum %><\/div><div class=\"name\"><%= name %><\/div><div class=\"weapon-pic\"><img src=\"<%= imgUrl %>\"\/><\/div><div class=\"stats\"><div class=\"dotted-divider\"><\/div><div class=\"label\">Kills<\/div><div class=\"data\"><%= PS2.utils.addCommas(kills) %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label\">Score<\/div><div class=\"data\"><%= PS2.utils.addCommas(score) %><\/div><div class=\"dotted-divider\"><\/div><\/div><\/div>');appSettings.tpl['tplProfileTopvehicle']=_.template('<div><div class=\"name\"><%= name %><\/div><div class=\"vehicle-pic modal-trigger\"><img src=\"<%= imgUrl %>\" \/><div class=\"openModal\"><\/div><\/div><div class=\"stats\"><div class=\"dotted-divider\"><\/div><div class=\"label\">Kills<\/div><div class=\"data\"><%= PS2.utils.addCommas(kills.total) %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label\">Time Used<\/div><div class=\"data\"><% print(PS2.utils.convertMilliToTime(timeUsed*1000, true)) %><\/div><div class=\"dotted-divider\"><\/div><div class=\"label\">Score<\/div><div class=\"data\"><%= PS2.utils.addCommas(score) %><\/div><div class=\"dotted-divider\"><\/div><\/div><\/div>');appSettings.tpl['tplProfileAchievements']=_.template('<div class=\"achievement-logo\"><\/div><div class=\"info\"><div class=\"name\">COMING SOON<\/div><div class=\"dotted-divider\"><\/div><div class=\"desc\">Show off your Achievements and performance.<\/div><\/div>');appSettings.tpl['tplProfileClassItem']=_.template('<div class=\"class-info <% if (name == \"Combat Medic\") { print(\"active\") } %>\" id=\"<%= name.replace(\" \", \"\") %>Info\"><div class=\"sub-header\"><%= name %><\/div><div class=\"stat-block\"><div class=\"icon time\"><\/div><div class=\"label\">Time Played<\/div><div class=\"data\"><% print(PS2.utils.convertMilliToTime(timePlayed * 1000, true)) %><\/div><\/div><div class=\"stat-block\"><div class=\"icon score\"><\/div><div class=\"label\">Score<\/div><div class=\"data\"><%= PS2.utils.addCommas(score) %><\/div><\/div><\/div>');appSettings.tpl['tplProfileClasses']=_.template('<div class=\"header\">Classes<\/div><div class=\"container\"><div class=\"timechart\"><div class=\"chart\" id=\"classesHighchart\"><\/div><div id=\"classTabs\"><div class=\"class-icon medic active\" rel=\"0\"><\/div><div class=\"class-icon light-assault\" rel=\"1\"><\/div><div class=\"class-icon heavy-assault\" rel=\"2\"><\/div><div class=\"class-icon engineer\" rel=\"3\"><\/div><div class=\"class-icon max\" rel=\"4\"><\/div><div class=\"class-icon infiltrator\" rel=\"5\"><\/div><\/div><\/div><div id=\"classItems\"><\/div><div class=\"bottom-link classes\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= id %>\/classes\"><span>VIEW CLASSES<\/span><em class=\"goto-arrows\"><\/em><\/a><\/div><\/div>');

/* end /scripts/players/tpl/profile-tpl.js*/

/* start /scripts/players/tpl/search-results-tpl.js*/
appSettings.tpl['tplSearchResults']=_.template('<div class=\"header\"><h2>SEARCH<\/h2><div class=\"divider\"><\/div><\/div><div class=\"search-container-top\"><div class=\"title\">Search Results<\/div><\/div><div class=\"search-container-content\"><div id=\"results\"><\/div><\/div><div class=\"search-container-footer\"><\/div>');appSettings.tpl['tplSearchResultsItem']=_.template('<a class=\"resultItem <%= type.faction %>\" href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= character_id %>\"><div class=\"faction <%= type.faction %>\"><\/div><div class=\"avatar avatar-search <%= type.faction %>\"><\/div><div class=\"name\"><% print(name.first ? name.first : \"<em>[unknown]<\/em>\") %><\/div><div class=\"stats\"><div class=\"searchBR\">Battle Rank <span><%= battle_rank.value ? battle_rank.value : \'n\/a\' %><\/span><\/div><div class=\"searchWorld\">World <span class=\"id<%= character_id %>\"><%= world %><\/span><\/div><\/div><div class=\"clearfix\"><\/div><\/a><div class=\"clearfix\"><\/div><div class=\"dotted-divider\"><\/div>');appSettings.tpl['tplSearchResultsNone']=_.template('<div class=\"divider\"><\/div><div id=\"noSearchResults\"><span>NO RESULTS<\/span><\/div>');

/* end /scripts/players/tpl/search-results-tpl.js*/

/* start /scripts/players/tpl/social-tpl.js*/
appSettings.tpl['tplOverviewCharacterLogoutUpdate']=_.template('<div class=\"update\"><div class=\"avatar\"><\/div><div class=\"update-content\"><span><%= convertGUIDToName() %><\/span> just logged out of <%= appSettings.worldsTable[\'world_\' + world_id].name[i18n.langCode] %><\/div><div class=\"award\"><\/div><div class=\"timestamp\"><% print( PS2.utils.timestampToDate(action_timestamp, true) )%><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"updateBottom\"><\/div>');appSettings.tpl['tplOverviewCharacterLoginUpdate']=_.template('<div class=\"update\"><div class=\"avatar\"><\/div><div class=\"update-content\"><span><%= convertGUIDToName() %><\/span> just logged into <%= appSettings.worldsTable[\'world_\' + world_id].name[i18n.langCode] %><\/div><div class=\"award\"><\/div><div class=\"timestamp\"><% print( PS2.utils.timestampToDate(action_timestamp, true) )%><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"updateBottom\"><\/div>');appSettings.tpl['tplOverviewBattleRankUpUpdate']=_.template('<div class=\"update\"><div class=\"icon\"><img src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/battlerank-icons\/br-<%= faction %>-<%= battle_rank %>.png?v=1105389998\"><\/div><div class=\"update-content\"><% print(app.contextCharacter.get(\'details\').name.first) %><\/span> achieved Battle Rank <%= data_list.battle_rank %><\/div><div class=\"timestamp\"><% print( PS2.utils.timestampToDate(action_timestamp, true) )%><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"updateBottom\"><\/div>');appSettings.tpl['tplOverviewFacilityUpdate']=_.template('<div class=\"update\"><div class=\"avatar <%= data_list.faction_new %>\"><\/div><div class=\"update-content\">The <span><%= appSettings.factions[data_list.faction_new].name[i18n.langCode] %><\/span> has captured <span><%= data_list.facility_name %><\/span> on <span><%= appSettings.CONTINENTS_BY_ID[data_list.zone_id].name %><\/span><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"updateBottom\"><\/div>');appSettings.tpl['tplOverviewItemUpdate']=_.template('<div class=\"update\"><div class=\"icon\"><% print(\'<img src=\"\'+ appSettings.censusFileRootUrl + appSettings.itemsTable[\'item_\'+data_list.item_id].image_path+\'\" \/>\') %><\/div><div class=\"update-content\"><span><%= convertGUIDToName() %><\/span> unlocked <% print(appSettings.itemsTable[\'item_\'+data_list.item_id].name.en)  %><\/div><div class=\"award\"><\/div><div class=\"timestamp\"><% print( PS2.utils.timestampToDate(action_timestamp, true) )%><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"updateBottom\"><\/div>');appSettings.tpl['tplTemporaryOverview']=_.template('<div class=\"header\"><h2>Overview<\/h2><div class=\"divider\"><\/div><div class=\"items clearfix\"><\/div><\/div><div id=\"profileOverview\" style=\"float:left;\"><div id=\"profileImage\" class=\"<% print(details?(details.empire?(details.empire.name):\'\'):\'\')%>\"><div id=\"paperdoll\" class=\"<% print(details?(details.empire?(details.empire.name):\'\'):\'\')%>\"><img class=\"<% print(details?(details.empire?(details.empire.name):\'\'):\'\')%>\" src=\"<%= details.paperdollImage %>\" \/><\/div><div id=\"battlerank\" style=\"background-image:url(\'https:\/\/www-cdn.planetside2.com\/images\/players\/global\/battlerank-icons\/br-<%= details.empire.name %>-<%= stats.base.battleRank %>.png\'1105389998)\"><%= stats.base.battleRank %><\/div><\/div><div id=\"promos\"><div class=\"leftPromo\"><div class=\"promo-image\"><img src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/everGreen_left_Website_341x103.png?v=1495059111\" \/><\/div><\/div><div class=\"rightPromo\"><div class=\"promo-image\"><img src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/everGreen_right_Website_341x103.png?v=672533823\" \/><\/div><\/div><\/div><div class=\"socialStats\"><div id=\"friendsContainer\"><div class=\"sidebar-header\"><em class=\"friends-icon\"><\/em><span>FRIENDS<\/span><\/div><div class=\"social-divider\"><\/div><div class=\"small-scroll-pane\">Loading Friends...<\/div><\/div><div id=\"fanSiteContainer\"><div class=\"sidebar-header\"><em class=\"friends-icon\"><\/em><span>FAN SITES<\/span><\/div><div class=\"social-divider\"><\/div><div id=\"fanSites\"><p>LOADING FAN SITES...<\/p><\/div><\/div><\/div><div class=\"socialUpdates\"><div id=\"updateHeader\"><p>Incoming Messages<\/p><\/div><div id=\"updateArea\"><div id=\"updateFeed\"><div id=\"updateOffline\" class=\"<%= details.empire.name %>\"><p>:<span>SYSTEM OFFLINE<\/span>:<\/p><\/div><\/div><\/div><\/div><div id=\"updateFooter\"><\/div><div class=\"clearfix\"><\/div><\/div>');appSettings.tpl['tplOverviewHistoricalBattleRankUpUpdate']=_.template('<div class=\"update\"><div class=\"icon\"><img src=\"https:\/\/www-cdn.planetside2.com\/images\/players\/global\/battlerank-icons\/br-<%= faction %>-<%= battle_rank %>.png?v=1105389998\"><\/div><div class=\"update-content\"><% print(app.contextCharacter.get(\'details\').name.first) %><\/span> achieved Battle Rank <%= battle_rank %><\/div><div class=\"timestamp\"><% print( PS2.utils.timestampToDate(timestamp, true) )%><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"updateBottom\"><\/div>');appSettings.tpl['tplFriendsListItem']=_.template('<div class=\"friend-padding\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%=  character_id %>\"><%= character.name.first %><span class=\"go-arrows\">>><\/span><\/a><\/div>');appSettings.tpl['tplFriendsList']=_.template('<div class=\"status-header\"><span class=\"blue-number\">[<span id=\"numFriendOnline\">0<\/span>]<\/span> ONLINE<span class=\"status-open-state\">+<\/span><div class=\"social-divider\"><\/div><\/div><ul id=\"friendOnline\" class=\"friend-online-status\"><\/ul><div class=\"status-header\"><span class=\"blue-number\">[<span id=\"numFriendOffline\">0<\/span>]<\/span> OFFLINE<span class=\"status-open-state\">+<\/span><div class=\"social-divider\"><\/div><\/div><ul id=\"friendOffline\" class=\"friend-online-status\"><\/ul>');appSettings.tpl['tplFriendsListOther']=_.template('<ul id=\"friendOffline\" class=\"friend-online-status\" style=\"display: block\"><\/ul>');appSettings.tpl['tplSocialPromos']=_.template('<a href=\"<%= typeof link != \'undefined\' ? link : \'\' %>\" title=\"<%= typeof tooltip != \'undefined\' ? tooltip : \'\' %>\"><img src=\"<%= typeof image != \'undefined\' ? image : \'\' %>\" \/><\/a>');appSettings.tpl['tplSocialFanSiteItemEmpty']=_.template('<p>Fan Sites Unavailable<\/p>');appSettings.tpl['tplSocialFanSiteItem']=_.template('<div class=\"fanSite\"><a href=\"<%= url %>\" target=\"_blank\"><%= name %><\/a><p><%= description %><\/p><span class=\"viewLink\"><a href=\"<%= url %>\" target=\"_blank\">VIEW SITE<em class=\"goto-arrows\"><\/em><\/a><\/span><%= isLast ? \'\' : \'<div class=\"dottedDivider\"><\/div>\' %><\/div>');

/* end /scripts/players/tpl/social-tpl.js*/

/* start /scripts/players/tpl/splash-tpl.js*/
appSettings.tpl['tplSplash']=_.template('<div class=\"section-left\"><\/div><div class=\"section-center\"><div id=\"noCharAlert\"><div class=\'notFound\'>CHARACTER NOT FOUND<\/div><div class=\'noCharText\'>This Daybreak Account does not appear to have a character for Planetside 2. Please log in to the game to create a character.<\/div><button onclick=\"PS2.utils.removeNoCharAlert();\">OK<\/button><\/div><div id=\"splashContent\"><div id=\"gameDescription\"><p>PlanetSide 2 Players is the official online destination for all of your in-game data and information. This is your intel HQ.<\/p><\/div><div id=\"largeTextContainer\"><h1>GET YOUR CHARACTER DATA,<\/h1><h2>TRACK YOUR PROGRESS,<\/h2><h3>CONNECT WITH FRIENDS &amp; MORE!<\/h3><p>Not a player yet? Take a sneak peek at <a href=\"\/players\/#!\/weapon-overview\">weapons<\/a> and<br><a href=\"\/players\/#!\/vehicle-overview\">vehicles<\/a> or see who\'s got the edge on the <a href=\"\/players\/#!\/leaderboards\">leaderboards<\/a>.<\/p><\/div><div id=\"loginContainer\"><div class=\"login-button\"><a href=\"<%= appSettings.soeLoginUrl %>\">LOG IN<\/a><\/div><div class=\"tight-dotted-divider\"><\/div><div class=\"centered-text s17\"><a href=\"\/register\">New User?<\/a> Create an Account.<\/div><div class=\"tight-dotted-divider\"><\/div><\/div><div id=\"splashImageLinks\"><div class=\"imageLink\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/weapon-overview\"><div class=\"imageLinkContainer weapons\"><\/div><div class=\"imageLinkText weapons\"><p>WEAPONS<\/p><\/div><\/a><\/div><div class=\"imageLink\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/vehicle-overview\"><div class=\"imageLinkContainer vehicles\"><\/div><div class=\"imageLinkText vehicles\"><p>VEHICLES<\/p><\/div><\/a><\/div><div class=\"imageLink\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/leaderboards\"><div class=\"imageLinkContainer leaderboards\"><\/div><div class=\"imageLinkText leaderboards\"><p>LEADERBOARDS<\/p><\/div><\/a><\/div><\/div><\/div><\/div>');

/* end /scripts/players/tpl/splash-tpl.js*/

/* start /scripts/players/tpl/sub-nav-tpl.js*/
appSettings.tpl['tplMainSubnav']=_.template('<div id=\"subNavContainer\"><% if(id) {id = \'\/\' + id}%><div id=\"factionLogo\" class=\"faction_<% print(details?(details.empire?(details.empire.name):\'\'):\'\')%>\"><\/div><div id=\"nameServerOverflow\"><div id=\"titleExpand\"><div id=\"title\"><a href=\"<%=  appSettings.playerRootUrl %>\/#!<%= id %>\/\"><% print(details.name ? details.name.first : \"<em>[no name]<\/em>\") %><\/a><\/div><\/div><div id=\"subNavDiagonal\"><div id=\"worldName\"><span><%= details.world.name %><\/span><\/div><\/div><div id=\"subNavLines\"><\/div><div id=\"lastUpdated\"><p>LAST UPDATED: <%= details.lastSaved %><\/p><\/div><\/div><div id=\"subNav\"><\/div><\/div><div id=\"quickStats\"><div class=\"stats-highlight\"><div class=\"icon\"><\/div><div class=\"label PS2\">OUTFIT<\/div><div class=\"data\"><%= $.isNumeric(details.outfit.id) ? \'<a href=\"\' + appSettings.playerRootUrl + \'\/#!\/outfits\/?outfit=\' + details.outfit.id + \'\">\' + details.outfit.getOutfitName() + \'<\/a>\' : details.outfit.getOutfitName() %><\/div><\/div><div class=\"stats\"><\/div><\/div><div id=\"outdated\" class=\"<%= details.oldCharacter ? \'show\' : \'hide\' %>\"><p><span>THIS CHARACTER IS OUT-OF-DATE:<\/span><br>The statistics shown for this character are more than 60 days old and may be inaccurate. This character&rsquo;s records will update upon the next login.<\/p><\/div>');appSettings.tpl['tplStatsOnlineStatus']=_.template('<div class=\"label\">STATUS<\/div><div class=\"data\"><%= onlineStatus %><\/div><div class=\"status <%= onlineStatus %>\"><\/div>');appSettings.tpl['tplSubNavMenuDefault']=_.template('<% if(id) {id = \'\/\' + id}%><div class=\"navElement sub-overview current\"><em><\/em><a href=\"<%=  appSettings.playerRootUrl %>\/#!<%= id %>\/\">OVERVIEW<\/a><\/div><div class=\"navElement sub-stats sub-profile\"><em><\/em><a href=\"<%=  appSettings.playerRootUrl %>\/#!<%= id %>\/stats\">STATISTICS<\/a><\/div><div class=\"navElement sub-weapons sub-weaponList sub-weaponOverview\"><em><\/em><a href=\"<%=  appSettings.playerRootUrl %>\/#!<%= id %>\/weapons\">WEAPONS<\/a><\/div><div class=\"navElement sub-classes sub-classList\"><em><\/em><a href=\"<%=  appSettings.playerRootUrl %>\/#!<%= id %>\/classes\">CLASSES<\/a><\/div><div class=\"navElement sub-killboard\"><em><\/em><a href=\"<%=  appSettings.playerRootUrl %>\/#!<%= id %>\/killboard\">KILLBOARD<\/a><\/div><em><\/em>');appSettings.tpl['tplStatsDefault']=_.template('<div class=\"section\" id=\"battleRank\"><div class=\"icon\" id=\"battleRankIcon\"><\/div><div class=\"label brText\">BATTLE RANK<\/div><div class=\"data big\"><%= stats.base.battleRank %><\/div><\/div><div class=\"section\" id=\"status\"><div class=\"label statusText\">STATUS<\/div><div class=\"data\"><%= details.onlineStatus %><\/div><div class=\"status <%= details.onlineStatus %>\"><\/div><\/div><div class=\"section\" id=\"memberSince\"><div class=\"label\">MEMBER SINCE<\/div><div class=\"data\"><% print(details ?(details.creation_date ? PS2.utils.timestampToDate(details.creation_date) : \'n\/a\') : \'n\/a\') %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block\" id=\"spm\"><div class=\"icon\" id=\"spmIcon\"><\/div><div class=\"label\">Score&#47;Minute<\/div><div class=\"data PS2\"><%= stats.base.spm %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block\" id=\"kdRatio\"><div class=\"icon\" id=\"kdRatioIcon\"><\/div><div class=\"label\">K&#47;D Ratio<\/div><div class=\"data PS2\"><%= stats.base.kdRatio %><\/div><\/div>');appSettings.tpl['tplStatsWeapons']=_.template('<div class=\"stat-block mostUsedBlock\"><div class=\"stat-icon margin25 time\"><\/div><p class=\"stat-type\">MOST USED:<\/p><p class=\"stat-data\"><%= weapons.weaponTopStats.mostUsed.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.convertMilliToTime((weapons.weaponTopStats.mostUsed.value * 1000), true) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= weapons.weaponTopStats.mostUsed.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block mostKillsBlock\"><div class=\"stat-icon most-kills\"><\/div><p class=\"stat-type\">MOST KILLS:<\/p><p class=\"stat-data\"><%= weapons.weaponTopStats.mostKills.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.addCommas(weapons.weaponTopStats.mostKills.value) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= weapons.weaponTopStats.mostKills.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block accuracyBlock\"><div class=\"stat-icon margin10 accuracy\"><\/div><p class=\"stat-type\">ACCURACY:<\/p><p class=\"stat-data\"><%= weapons.weaponTopStats.mostAccurate.name %>:<\/p><p class=\"stats-value\"><%= weapons.weaponTopStats.mostAccurate.value %>%<\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= weapons.weaponTopStats.mostAccurate.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block headshotsBlock\"><div class=\"stat-icon margin10 headshots\"><\/div><p class=\"stat-type\">HEADSHOTS:<\/p><p class=\"stat-data\"><%= weapons.weaponTopStats.mostHeadshots.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.addCommas(weapons.weaponTopStats.mostHeadshots.value) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= weapons.weaponTopStats.mostHeadshots.name %><\/div><\/div>');appSettings.tpl['tplStatsVehicles']=_.template('<div class=\"stat-block mostUsedVehicleBlock\"><div class=\"stat-icon margin25 time\"><\/div><p class=\"stat-type\">MOST USED:<\/p><p class=\"stat-data\"><%= vehicles.vehicleTopStats.mostUsed.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.convertMilliToTime(vehicles.vehicleTopStats.mostUsed.value * 1000, true) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= vehicles.vehicleTopStats.mostUsed.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block mostDestroyedVehicleBlock\"><div class=\"stat-icon destroyed\"><\/div><p class=\"stat-type\">MOST VEHICLE KILLS:<\/p><p class=\"stat-data\"><%= vehicles.vehicleTopStats.mostDestroyed.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.addCommas(vehicles.vehicleTopStats.mostDestroyed.value)  %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= vehicles.vehicleTopStats.mostDestroyed.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block highScoreVehicleBlock\"><div class=\"stat-icon margin25 score\"><\/div><p class=\"stat-type\">HIGHEST SCORE:<\/p><p class=\"stat-data\"><%= vehicles.vehicleTopStats.highScore.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.addCommas(vehicles.vehicleTopStats.highScore.value) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= vehicles.vehicleTopStats.highScore.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block shotsFiredVehicleBlock\"><div class=\"stat-icon margin25 shots-fired\"><\/div><p class=\"stat-type\">SHOTS FIRED:<\/p><p class=\"stat-data\"><%= vehicles.vehicleTopStats.mostShots.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.addCommas(vehicles.vehicleTopStats.mostShots.value) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= vehicles.vehicleTopStats.mostShots.name %><\/div><\/div>');appSettings.tpl['tplStatsClasses']=_.template('<div class=\"stat-block mostPlayedClassBlock\"><div class=\"stat-icon <%= classes.classesTopStats.mostPlayed.name.toLowerCase().replace(\' \', \'-\') %>\"><\/div><p class=\"stat-type\">MOST PLAYED:<\/p><p class=\"stat-data\"><%= classes.classesTopStats.mostPlayed.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.convertMilliToTime((classes.classesTopStats.mostPlayed.value * 1000), true) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= classes.classesTopStats.mostPlayed.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block bestScoreClassBlock\"><div class=\"stat-icon <%= classes.classesTopStats.bestScore.name.toLowerCase().replace(\' \', \'-\') %>\"><\/div><p class=\"stat-type\">BEST SCORE:<\/p><p class=\"stat-data\"><%= classes.classesTopStats.bestScore.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.addCommas(classes.classesTopStats.bestScore.value) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= classes.classesTopStats.bestScore.name %><\/div><\/div><div class=\"vert-dotted-divider\"><\/div><div class=\"stat-block bestSPMBlock\"><div class=\"stat-icon <%= classes.classesTopStats.bestSPM.name.toLowerCase().replace(\' \', \'-\') %>\"><\/div><p class=\"stat-type\">BEST SPM:<\/p><p class=\"stat-data\"><%= classes.classesTopStats.bestSPM.name %>:<\/p><p class=\"stats-value\"><%= PS2.utils.addCommas(classes.classesTopStats.bestSPM.value) %><\/p><\/div><div class=\"tooltip\"><div class=\"copy\"><%= classes.classesTopStats.bestSPM.name %><\/div><\/div>');

/* end /scripts/players/tpl/sub-nav-tpl.js*/

/* start /scripts/players/tpl/timeout-tpl.js*/
appSettings.tpl['tplSessionNag']=_.template('<a class=\"close\"><\/a><div class=\"tl\"><\/div><div class=\"tr\"><\/div><div class=\"bl\"><\/div><div class=\"br\"><\/div><div class=\"content\" id=\"nagContent\"><\/div>');appSettings.tpl['tplSessionNagPrompt']=_.template('<h4><span>Your Login Session is About to End!<\/span><\/h4><div class=\"desc\"><p>Your session is going to time out in <span>60<\/span> seconds.<br \/>Click OK to refresh.<\/p><button>OK<\/button><\/div>');appSettings.tpl['tplSessionNagLogout']=_.template('<h4><span>You have been logged out!<\/span><\/h4><div class=\"desc\"><p>Your session has expired.  Click OK to log back in, or close this popup to remain logged out.<\/p><button>OK<\/button><\/div>');

/* end /scripts/players/tpl/timeout-tpl.js*/

/* start /scripts/players/tpl/vehicle-tpl.js*/
appSettings.tpl['tplVehicleHeader']=_.template('<div class=\"header\"><div><h2>Vehicles<\/h2><div class=\"factionSwitch\"><\/div><\/div><div class=\"view-options\"><span class=\"view-text\">VIEW:<\/span><a id=\"allVehiclesButton\" href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= id %>\/vehicle-overview\">ALL VEHICLES<\/a><\/div><div class=\"divider\"><\/div><\/div><div class=\"view-content-container\"><\/div>');appSettings.tpl['tplVehicleItemContainer']=_.template('<div id=\"vehicleItems\"><\/div>');appSettings.tpl['tplVehicleWorldStatsItem']=_.template('<div style=\"margin-top:80px;\" class=\"avatar modal-trigger <%= faction %> veh<%= vehicle_id %>\" style=\'background:url(<%= imgUrl %>) no-repeat scroll left top transparent\'><span class=\"openModal\"><\/span><\/div>');appSettings.tpl['tplVehicleGeneralStatsItem']=_.template('<div class=\"stats clearfix\"><h2>Statistics<\/h2><div class=\"stats-block score\"><div class=\"stats-icon score\"><\/div><span>Score<\/span><span class=\"data\"><%= PS2.utils.addCommas(score) %><\/span><\/div><div class=\"dotted-divider\"><\/div><div class=\"stats-block kills\"><div class=\"stats-icon kills\"><\/div><span>Kills As<\/span><span class=\"data\"><%= PS2.utils.addCommas(kills.total) %><\/span><\/div><div class=\"dotted-divider\"><\/div><div class=\"stats-block time\"><div class=\"stats-icon time\"><\/div><span>Time Used<\/span><span class=\"data\"><% print(PS2.utils.convertMilliToTime(timeUsed*1000, true)) %><\/span><\/div><div class=\"dotted-divider\"><\/div><div class=\"stats-block destroyed\"><div class=\"stats-icon destroyed\"><\/div><span>Vehicle Kills As<\/span><span class=\"data\"><%= PS2.utils.addCommas(destroyed) %><\/span><\/div><div class=\"dotted-divider\"><\/div><div class=\"stats-block shots-fired\"><div class=\"stats-icon shots-fired\"><\/div><span>Shots Fired<\/span><span class=\"data\"><%= PS2.utils.addCommas(shotsFired) %><\/span><\/div><\/div>');appSettings.tpl['tplVehicleStatsItem']=_.template('<div class=\"hd\"><span class=\"hd-type\">TYPE<\/span><span class=\"hd-overall\">OVERALL<\/span><span id=\"factionStats01\" class=\"hd-nc\"><span class=\"faction-logo <%= rivalFaction1 %>\"><\/span><%= rivalFaction1.toUpperCase() %><\/span><span id=\"factionStats02\" class=\"hd-vs\"><span class=\"faction-logo <%= rivalFaction2 %>\"><\/span><%= rivalFaction2.toUpperCase() %><\/span><\/div><div class=\"scroll-pane\"><table><tr><td class=\"bd-desc\">Kills As<\/td><td class=\"bd-overall\"><%= PS2.utils.addCommas(kills.total) %><\/td><td id=\"factionKills01\" class=\"bd-nc\"><%= PS2.utils.addCommas(kills[rivalFaction1]) %><\/td><td id=\"factionKills02\" class=\"bd-vs\"><%= PS2.utils.addCommas(kills[rivalFaction2]) %><\/td><\/tr><tr class=\"alt-row\"><td class=\"bd-desc\">Headshots<\/td><td class=\"bd-overall\"><%= PS2.utils.addCommas(headshots.total) %><\/td><td id=\"factionHeadshots01\" class=\"bd-nc\"><%= PS2.utils.addCommas(headshots[rivalFaction1]) %><\/td><td id=\"factionHeadshots02\" class=\"bd-vs\"><%= PS2.utils.addCommas(headshots[rivalFaction2]) %><\/td><\/tr><tr><td class=\"bd-desc\">SPM<\/td><td class=\"bd-overall\"><%= PS2.utils.addCommas((!(Math.round(score \/ timeUsed * 100)) ? 0 : Math.round(score \/ (timeUsed \/ 60)))) %><\/td><td class=\"bd-nc\">-<\/td><td class=\"bd-vs\">-<\/td><\/tr><tr class=\"alt-row\"><td class=\"bd-desc\">Accuracy<\/td><td class=\"bd-overall\"><%= accuracy %>%<\/td><td class=\"bd-nc\">-<\/td><td class=\"bd-vs\">-<\/td><\/tr><\/table><\/div><div class=\"tableFooter\"><\/div>');appSettings.tpl['tplVehicleHeaderNoChar']=_.template('<div class=\"header\"><div><h2>Vehicles<\/h2><div class=\"factionSwitch\"><\/div><\/div><div class=\"view-options\"><span class=\"view-text\">VIEW:<\/span><a id=\"allVehiclesButton\" href=\"<%=  appSettings.playerRootUrl %>\/#!\/vehicle-overview\">ALL VEHICLES<\/a><\/div><div class=\"divider\"><\/div><\/div><div class=\"view-content-container\"><\/div>');appSettings.tpl['tplVehicleOverviewItem']=_.template('<div class=\"header\" data-vehicleID=\"<%= id %>\"><%= name %> <%= (vehicleFaction == \'ns\') ? \'\' : \'- \' + vehicleFaction %><span><\/span><\/div><img style=\"width:75%; margin:0 auto; display:block;\" src=\"<%= imgUrl %>\" \/>');appSettings.tpl['tplVehicleItem']=_.template('<h3><div class=\"emblem veh<%= vehicle_id %>\"><\/div><span class=\"cl-name\" data-vehicleID=\"<%= vehicle_id %>\"><%= name %><\/span><span class=\"collapse\"><\/span><\/h3><div class=\"pane clearfix\"><div class=\"divider\"><\/div><div id=\"worldStats\" class=\"stats-div\"><\/div><!-- ctn:tpl-vehicleWorldStats-item --><div class=\"mid-col\"><div id=\"generalStats\"><\/div><!-- ctn:tpl-vehicleGeneralStats-item --><\/div><div id=\"dataTable\" class=\"certs-div\"><\/div><!-- ctn:tpl-vehicleStats-item --><div class=\"big-divider\"><\/div><\/div>');

/* end /scripts/players/tpl/vehicle-tpl.js*/

/* start /scripts/players/tpl/weapon-tpl.js*/
appSettings.tpl['tplWeaponHeader']=_.template('<div class=\"header\"><div><h2>Weapons<\/h2><div class=\"factionSwitch\"><\/div><\/div><div class=\"view-options\"><span class=\"view-text\">VIEW:<\/span><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= id %>\/weapon-overview\" id=\"all-weapons-button\">ALL WEAPONS<\/a><span class=\"view-text\">|<\/span><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/<%= id %>\/weapons\" id=\"players-weapons-button\"><%= details.name.first %>&rsquo;s WEAPONS<\/a><\/div><div class=\"divider\"><\/div><\/div><div class=\"view-content-container\"><\/div>');appSettings.tpl['tplWeaponRawItem']=_.template('<div class=\"item <%= itemClass %>\"><div class=\"itemTd\"><div class=\"first modal-trigger\"><div class=\"openModal\"><\/div><div class=\"wpName\"><%= name %><\/div><br \/><img class=\"weaponImage\" src=\"<%= imgUrl %>\"\/><div class=\"weaponsDivider\"><\/div><\/div><div class=\"kills sorted\" rel=\"<%= kills %>\"><span><%= PS2.utils.addCommas(kills) %><\/span><\/div><div class=\"kpm\" rel=\"<%= kpm %>\"><span><%= PS2.utils.addCommas(kpm) %><\/span><\/div><div class=\"accuracy\" rel=\"<%= accuracy %>\"><span><%= accuracy %>%<\/span><\/div><div class=\"fireCount\" rel=\"<%= fireCount %>\"><span><%= PS2.utils.addCommas(fireCount) %><\/span><\/div><div class=\"headshots\" rel=\"<%= headshots %>\"><span><%= PS2.utils.addCommas(headshots) %><\/span><\/div><div class=\"hitCount\" rel=\"<%= hitsCount %>\"><span><%= PS2.utils.addCommas(hitsCount) %><\/span><\/div><div class=\"score\" rel=\"<%= score %>\"><span><%= PS2.utils.addCommas(score) %><\/span><\/div><\/div><\/div>');appSettings.tpl['tplWeaponRaw']=_.template('<div id=\"weaponsMain\"><div class=\"weaponList\"><div class=\"typeItems\"><div class=\"wpnItemTable\"><table><tbody><tr class=\"thead\"><th class=\"first weapon\"><span>Weapon<\/span><\/th><th class=\"kills descending\">Kills<\/th><th class=\"kpm\">Kills \/ Min<\/th><th class=\"accuracy\">Accuracy<\/th><th class=\"fireCount\">Fire Count<\/th><th class=\"headshots\">Head Shots<\/th><th class=\"hitCount\">Hits Count<\/th><th class=\"score last\">Score<\/th><\/tr><\/tbody><\/table><div id=\"weaponsInfo\"><\/div><\/div><\/div><\/div><div id=\"weaponsSideBar\"><span id=\"killsByClass\">KILLS BY WEAPON<\/span><div id=\"hiChartGraph\"><span>NO KILLS<\/span><\/div><\/div><\/div>');appSettings.tpl['tplWepDropdown']=_.template('<div class=\'filterBar\'><div id=\'scrollLock\'><div id=\"filterByDropdown\"><span>FILTER WEAPONS BY<\/span><em class=\"dropArrow\"><\/em><div class=\"optionsCount\"><div class=\"currentFilters\"><span>Currently Applied Filters:<\/span><\/div><div class=\"empireCount count\"><em>Empire<\/em><span><\/span><\/div><div class=\"empireTooltip tooltip\"><div class=\"copy\"><ul><\/ul><\/div><\/div><div class=\"classCount count\"><em>Class<\/em><span><\/span><\/div><div class=\"classTooltip tooltip\"><div class=\"copy\"><ul><\/ul><\/div><\/div><div class=\"weaponTypeCount count\"><em>Weapon Type<\/em><span><\/span><\/div><div class=\"weaponTypeTooltip tooltip\"><div class=\"copy\"><ul><\/ul><\/div><\/div><div class=\"lockedCount count\"><em>Locked<\/em><span><\/span><\/div><div class=\"lockedTooltip tooltip\"><div class=\"copy\"><ul><\/ul><\/div><\/div><div class=\"filterResults\"><em>Results:<\/em><span><\/span><\/div><\/div><\/div><div class=\"weaponsFilterOptions\"><div class=\"dropdownOptions\" id=\"filterFaction\"><div class=\'dropdownCategory\' id=\"factionTitle\">EMPIRE<div><\/div><\/div><ul><li><em class=\"wepCheckbox\"><\/em><span id=\"tr\">TR<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"vs\">VS<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"nc\">NC<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"ns\">NS<\/span><\/li><\/ul><div class=\"selectAllContainer\" id=\"factionSelectAll\"><a id=\"deselectAllFactions\">Uncheck All<\/a><\/div><\/div><div class=\"dropdownOptions\" id=\"filterClasses\"><div class=\'dropdownCategory\'>CLASSES<div><\/div><\/div><ul><li><em class=\"wepCheckbox\"><\/em><span id=\"light_assault\">Light Assault<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"infiltrator\">Infiltrator<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"combat_medic\">Combat Medic<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"heavy_assault\">Heavy Assault<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"engineer\">Engineer<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"max\">MAX<\/span><\/li><\/ul><div class=\"selectAllContainer\" id=\"classesSelectAll\"><a id=\"deselectAllClasses\">Uncheck All<\/a><\/div><\/div><div class=\"dropdownOptions\" id=\"filterWeapons\"><div class=\'dropdownCategory\'>WEAPON TYPES<div><\/div><\/div><div id=\'wepFilterTypes\'><ul><\/ul><\/div><!-- tpl-weapon-filter-types --><div class=\"selectAllContainer\" id=\"typeSelectAll\"><a id=\"deselectAllWeapons\">Uncheck All<\/a><\/div><\/div><div class=\"dropdownOptions\" id=\"filterLocked\"><div class=\'dropdownCategory\' id=\"lockedTitle\">LOCKED<div><\/div><\/div><ul><li><em class=\"wepCheckbox\"><\/em><span id=\"unlocked\">Unlocked<\/span><\/li><li><em class=\"wepCheckbox\"><\/em><span id=\"locked\">Locked<\/span><\/li><\/ul><div class=\"selectAllContainer\" id=\"lockedSelectAll\"><a id=\"deselectAllLocked\">Uncheck All<\/a><\/div><\/div><\/div><\/div><\/div><div id=\"gridContainer\"><\/div>');appSettings.tpl['tplWeaponOverviewItem']=_.template('<div class=\"weapon-item-bg\"><\/div><div class=\"header\"><%= name %><span class=\"openModal\"><\/span><\/div><div class=\"weaponFactionIcon <% print (faction ? faction : \'all\') %>\"><\/div><div class=\"weaponImageContainer\"><img style=\"margin:0 auto; max-height: 100%; max-width: 100%\" src=\"<%= imgUrl %>\" \/><\/div><div class=\"lockIcon <% print (locked ? locked : \'\') %>\"><\/div>');appSettings.tpl['tplWeaponItemContainer']=_.template('<div class=\"weaponItemContainer view-content-container\"><\/div>');appSettings.tpl['tplWeaponFilterTypes']=_.template('<li><em class=\"wepCheckbox\"><\/em><span id=\"<%= type %>\"><%= typeName %><\/span><\/li>');appSettings.tpl['tplWeaponHeaderNoChar']=_.template('<div class=\"header\"><div><h2>Weapons<\/h2><div class=\"factionSwitch\"><\/div><\/div><div class=\"view-options\"><span class=\"view-text\">VIEW:<\/span><a href=\"<%=  appSettings.playerRootUrl %>\/#!\/weapon-overview\" id=\"all-weapons-button\">ALL WEAPONS<\/a><\/div><div class=\"divider\"><\/div><\/div><div class=\"view-content-container\"><\/div>');

/* end /scripts/players/tpl/weapon-tpl.js*/

/* start /scripts/players/util/highcharts.js*/
(function(){function v(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a}function x(){var a,b=arguments.length,c={},d=function(a,b){var c,h;for(h in b)b.hasOwnProperty(h)&&(c=b[h],typeof a!=="object"&&(a={}),a[h]=c&&typeof c==="object"&&Object.prototype.toString.call(c)!=="[object Array]"&&typeof c.nodeType!=="number"?d(a[h]||{},c):b[h]);return a};for(a=0;a<b;a++)c=d(c,arguments[a]);return c}function u(a,b){return parseInt(a,b||10)}function fa(a){return typeof a==="string"}function V(a){return typeof a==="object"}function Da(a){return Object.prototype.toString.call(a)==="[object Array]"}function Ea(a){return typeof a==="number"}function ka(a){return I.log(a)/I.LN10}function da(a){return I.pow(10,a)}function ga(a,b){for(var c=a.length;c--;)if(a[c]===b){a.splice(c,1);break}}function r(a){return a!==y&&a!==null}function A(a,b,c){var d,e;if(fa(b))r(c)?a.setAttribute(b,c):a&&a.getAttribute&&(e=a.getAttribute(b));else if(r(b)&&V(b))for(d in b)a.setAttribute(d,b[d]);return e}function ha(a){return Da(a)?a:[a]}function o(){var a=arguments,b,c,d=a.length;for(b=0;b<d;b++)if(c=a[b],typeof c!=="undefined"&&c!==null)return c}function L(a,b){if(Fa&&b&&b.opacity!==y)b.filter="alpha(opacity="+b.opacity*100+")";v(a.style,b)}function U(a,b,c,d,e){a=z.createElement(a);b&&v(a,b);e&&L(a,{padding:0,border:S,margin:0});c&&L(a,c);d&&d.appendChild(a);return a}function ea(a,b){var c=function(){};c.prototype=new a;v(c.prototype,b);return c}function ua(a,b,c,d){var e=N.lang,f=b===-1?((a||0).toString().split(".")[1]||"").length:isNaN(b=Q(b))?2:b,b=c===void 0?e.decimalPoint:c,d=d===void 0?e.thousandsSep:d,e=a<0?"-":"",c=String(u(a=Q(+a||0).toFixed(f))),g=c.length>3?c.length%3:0;return e+(g?c.substr(0,g)+d:"")+c.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?b+Q(a-c).toFixed(f).slice(2):"")}function va(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function zb(a,b,c){var d=a[b];a[b]=function(){var a=Array.prototype.slice.call(arguments);a.unshift(d);return c.apply(this,a)}}function wa(a,b){for(var c="{",d=!1,e,f,g,h,i,j=[];(c=a.indexOf(c))!==-1;){e=a.slice(0,c);if(d){f=e.split(":");g=f.shift().split(".");i=g.length;e=b;for(h=0;h<i;h++)e=e[g[h]];if(f.length)f=f.join(":"),g=/\.([0-9])/,h=N.lang,i=void 0,/f$/.test(f)?(i=(i=f.match(g))?i[1]:-1,e=ua(e,i,h.decimalPoint,f.indexOf(",")>-1?h.thousandsSep:"")):e=Ua(f,e)}j.push(e);a=a.slice(c+1);c=(d=!d)?"}":"{"}j.push(a);return j.join("")}function ib(a,b,c,d){var e,c=o(c,1);e=a/c;b||(b=[1,2,2.5,5,10],d&&d.allowDecimals===!1&&(c===1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d<b.length;d++)if(a=b[d],e<=(b[d]+(b[d+1]||b[d]))/2)break;a*=c;return a}function Ab(a,b){var c=b||[[Bb,[1,2,5,10,20,25,50,100,200,500]],[jb,[1,2,5,10,15,30]],[Va,[1,2,5,10,15,30]],[Oa,[1,2,3,4,6,8,12]],[oa,[1,2]],[Wa,[1,2]],[Pa,[1,2,3,4,6]],[xa,null]],d=c[c.length-1],e=E[d[0]],f=d[1],g;for(g=0;g<c.length;g++)if(d=c[g],e=E[d[0]],f=d[1],c[g+1]&&a<=(e*f[f.length-1]+E[c[g+1][0]])/2)break;e===E[xa]&&a<5*e&&(f=[1,2,5]);e===E[xa]&&a<5*e&&(f=[1,2,5]);c=ib(a/e,f);return{unitRange:e,count:c,unitName:d[0]}}function Cb(a,b,c,d){var e=[],f={},g=N.global.useUTC,h,i=new Date(b),j=a.unitRange,k=a.count;if(r(b)){j>=E[jb]&&(i.setMilliseconds(0),i.setSeconds(j>=E[Va]?0:k*T(i.getSeconds()/k)));if(j>=E[Va])i[Db](j>=E[Oa]?0:k*T(i[kb]()/k));if(j>=E[Oa])i[Eb](j>=E[oa]?0:k*T(i[lb]()/k));if(j>=E[oa])i[mb](j>=E[Pa]?1:k*T(i[Qa]()/k));j>=E[Pa]&&(i[Fb](j>=E[xa]?0:k*T(i[Xa]()/k)),h=i[Ya]());j>=E[xa]&&(h-=h%k,i[Gb](h));if(j===E[Wa])i[mb](i[Qa]()-i[nb]()+o(d,1));b=1;h=i[Ya]();for(var d=i.getTime(),m=i[Xa](),l=i[Qa](),p=g?0:(864E5+i.getTimezoneOffset()*6E4)%864E5;d<c;)e.push(d),j===E[xa]?d=Za(h+b*k,0):j===E[Pa]?d=Za(h,m+b*k):!g&&(j===E[oa]||j===E[Wa])?d=Za(h,m,l+b*k*(j===E[oa]?1:7)):d+=j*k,b++;e.push(d);n(ob(e,function(a){return j<=E[Oa]&&a%E[oa]===p}),function(a){f[a]=oa})}e.info=v(a,{higherRanks:f,totalRange:j*k});return e}function Hb(){this.symbol=this.color=0}function Ib(a,b){var c=a.length,d,e;for(e=0;e<c;e++)a[e].ss_i=e;a.sort(function(a,c){d=b(a,c);return d===0?a.ss_i-c.ss_i:d});for(e=0;e<c;e++)delete a[e].ss_i}
function Ga(a){for(var b=a.length,c=a[0];b--;)a[b]<c&&(c=a[b]);return c}function pa(a){for(var b=a.length,c=a[0];b--;)a[b]>c&&(c=a[b]);return c}function Ha(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Ra(a){$a||($a=U(ya));a&&$a.appendChild(a);$a.innerHTML=""}function qa(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw c;else O.console&&console.log(c)}function ia(a){return parseFloat(a.toPrecision(14))}function Ia(a,b){za=o(a,b.animation)}
function Jb(){var a=N.global.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";Za=a?Date.UTC:function(a,b,c,g,h,i){return(new Date(a,b,o(c,1),o(g,0),o(h,0),o(i,0))).getTime()};kb=b+"Minutes";lb=b+"Hours";nb=b+"Day";Qa=b+"Date";Xa=b+"Month";Ya=b+"FullYear";Db=c+"Minutes";Eb=c+"Hours";mb=c+"Date";Fb=c+"Month";Gb=c+"FullYear"}function ra(){}function Ja(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;!c&&!d&&this.addLabel()}function pb(a,b){this.axis=a;if(b)this.options=b,this.id=b.id}function Kb(a,b,c,d,e,f){var g=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.stack=e;this.percent=f==="percent";this.alignOptions={align:b.align||(g?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(g?"middle":c?"bottom":"top"),y:o(b.y,g?4:c?14:-6),x:o(b.x,g?c?-6:6:0)};this.textAlign=b.textAlign||(g?c?"right":"left":"center")}function ab(){this.init.apply(this,arguments)}function qb(){this.init.apply(this,arguments)}function rb(a,b){this.init(a,b)}function sb(a,b){this.init(a,b)}function tb(){this.init.apply(this,arguments)}var y,z=document,O=window,I=Math,t=I.round,T=I.floor,ja=I.ceil,q=I.max,K=I.min,Q=I.abs,Y=I.cos,ca=I.sin,Ka=I.PI,bb=Ka*2/360,Aa=navigator.userAgent,Lb=O.opera,Fa=/msie/i.test(Aa)&&!Lb,cb=z.documentMode===8,db=/AppleWebKit/.test(Aa),eb=/Firefox/.test(Aa),Mb=/(Mobile|Android|Windows Phone)/.test(Aa),sa="http://www.w3.org/2000/svg",Z=!!z.createElementNS&&!!z.createElementNS(sa,"svg").createSVGRect,Sb=eb&&parseInt(Aa.split("Firefox/")[1],10)<4,$=!Z&&!Fa&&!!z.createElement("canvas").getContext,Sa,fb=z.documentElement.ontouchstart!==y,Nb={},ub=0,$a,N,Ua,za,vb,E,ta=function(){},Ba=[],ya="div",S="none",Ob="rgba(192,192,192,"+(Z?1.0E-4:0.002)+")",Bb="millisecond",jb="second",Va="minute",Oa="hour",oa="day",Wa="week",Pa="month",xa="year",Pb="stroke-width",Za,kb,lb,nb,Qa,Xa,Ya,Db,Eb,mb,Fb,Gb,aa={};O.Highcharts=O.Highcharts?qa(16,!0):{};Ua=function(a,b,c){if(!r(b)||isNaN(b))return"Invalid date";var a=o(a,"%Y-%m-%d %H:%M:%S"),d=new Date(b),e,f=d[lb](),g=d[nb](),h=d[Qa](),i=d[Xa](),j=d[Ya](),k=N.lang,m=k.weekdays,d=v({a:m[g].substr(0,3),A:m[g],d:va(h),e:h,b:k.shortMonths[i],B:k.months[i],m:va(i+1),y:j.toString().substr(2,2),Y:j,H:va(f),I:va(f%12||12),l:f%12||12,M:va(d[kb]()),p:f<12?"AM":"PM",P:f<12?"am":"pm",S:va(d.getSeconds()),L:va(t(b%1E3),3)},Highcharts.dateFormats);for(e in d)for(;a.indexOf("%"+e)!==-1;)a=a.replace("%"+e,typeof d[e]==="function"?d[e](b):d[e]);return c?a.substr(0,1).toUpperCase()+a.substr(1):a};Hb.prototype={wrapColor:function(a){if(this.color>=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};E=function(){for(var a=0,b=arguments,c=b.length,d={};a<c;a++)d[b[a++]]=b[a];return d}(Bb,1,jb,1E3,Va,6E4,Oa,36E5,oa,864E5,Wa,6048E5,Pa,26784E5,xa,31556952E3);vb={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,j=function(a){for(g=a.length;g--;)a[g]==="M"&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(j(b),j(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-
6,6));if(d<=c.length/f)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length<a;)d=[].concat(b).splice(b.length-f,f),e&&(d[f-6]=d[f-2],d[f-5]=d[f-1]),b=b.concat(d);h&&(b=b.concat(h),c=c.concat(i));return[b,c]},step:function(a,b,c,d){var e=[],f=a.length;if(c===1)e=d;else if(f===b.length&&c<1)for(;f--;)d=parseFloat(a[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=b;return e}};(function(a){O.HighchartsAdapter=O.HighchartsAdapter||a&&{init:function(b){var c=a.fx,d=c.step,e,f=a.Tween,g=f&&f.propHooks;e=a.cssHooks.opacity;a.extend(a.easing,{easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}});a.each(["cur","_default","width","height","opacity"],function(a,b){var e=d,k,m;b==="cur"?e=c.prototype:b==="_default"&&f&&(e=g[b],b="set");(k=e[b])&&(e[b]=function(c){c=a?c:this;m=c.elem;return m.attr?m.attr(c.prop,b==="cur"?y:c.now):k.apply(this,arguments)})});zb(e,"get",function(a,b,c){return b.attr?b.opacity||0:a.call(this,b,c)});e=function(a){var c=a.elem,d;if(!a.started)d=b.init(c,c.d,c.toD),a.start=d[0],a.end=d[1],a.started=!0;c.attr("d",b.step(a.start,a.end,a.pos,c.toD))};f?g.d={set:e}:d.d=e;this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a,b)}:function(a,b){for(var c=0,d=a.length;c<d;c++)if(b.call(a[c],a[c],c,a)===!1)return c};a.fn.highcharts=function(){var a="Chart",b=arguments,c,d;fa(b[0])&&(a=b[0],b=Array.prototype.slice.call(b,1));c=b[0];if(c!==y)c.chart=c.chart||{},c.chart.renderTo=this[0],new Highcharts[a](c,b[1]),d=this;c===y&&(d=Ba[A(this[0],"data-highcharts-chart")]);return d}},getScript:a.getScript,inArray:a.inArray,adapterRun:function(b,c){return a(b)[c]()},grep:a.grep,map:function(a,c){for(var d=[],e=0,f=a.length;e<f;e++)d[e]=c.call(a[e],a[e],e,a);return d},offset:function(b){return a(b).offset()},addEvent:function(b,c,d){a(b).bind(c,d)},removeEvent:function(b,c,d){var e=z.removeEventListener?"removeEventListener":"detachEvent";z[e]&&b&&!b[e]&&(b[e]=function(){});a(b).unbind(c,d)},fireEvent:function(b,c,d,e){var f=a.Event(c),g="detached"+c,h;!Fa&&d&&(delete d.layerX,delete d.layerY);v(f,d);b[c]&&(b[g]=b[c],b[c]=null);a.each(["preventDefault","stopPropagation"],function(a,b){var c=f[b];f[b]=function(){try{c.call(f)}catch(a){b==="preventDefault"&&(h=!0)}}});a(b).trigger(f);b[g]&&(b[c]=b[g],b[g]=null);e&&!f.isDefaultPrevented()&&!h&&e(f)},washMouseEvent:function(a){var c=a.originalEvent||a;if(c.pageX===y)c.pageX=a.pageX,c.pageY=a.pageY;return c},animate:function(b,c,d){var e=a(b);if(!b.style)b.style={};if(c.d)b.toD=c.d,c.d=1;e.stop();e.animate(c,d)},stop:function(b){a(b).stop()}}})(O.jQuery);var W=O.HighchartsAdapter,M=W||{};W&&W.init.call(W,vb);var gb=M.adapterRun,Tb=M.getScript,la=M.inArray,n=M.each,ob=M.grep,Ub=M.offset,La=M.map,J=M.addEvent,ba=M.removeEvent,D=M.fireEvent,Qb=M.washMouseEvent,wb=M.animate,Ta=M.stop,M={enabled:!0,align:"center",x:0,y:15,style:{color:"#666",cursor:"default",fontSize:"11px",lineHeight:"14px"}};N={colors:"#2f7ed8,#0d233a,#8bbc21,#910000,#1aadce,#492970,#f28f43,#77a1e5,#c42525,#a6c96a".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",numericSymbols:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/3.0.2/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/3.0.2/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",y:15,style:{color:"#274b6d",fontSize:"16px"}},subtitle:{text:"",align:"center",y:30,style:{color:"#4d759e"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},lineWidth:2,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:x(M,{enabled:!1,formatter:function(){return ua(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#274b6d",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},style:{position:"absolute",backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:!0,animation:Z,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:1,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',shadow:!0,snap:Mb?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};var X=N.plotOptions,W=X.line;Jb();var ma=function(a){var b=[],c,d;(function(a){a&&a.stops?d=La(a.stops,function(a){return ma(a[1])}):(c=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?b=[u(c[1]),u(c[2]),u(c[3]),parseFloat(c[4],10)]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))?b=[u(c[1],16),u(c[2],16),u(c[3],16),1]:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(a))&&(b=[u(c[1]),u(c[2]),u(c[3]),1])})(a);return{get:function(c){var f;d?(f=x(a),f.stops=[].concat(f.stops),n(d,function(a,b){f.stops[b]=[f.stops[b][0],a.get(c)]})):f=b&&!isNaN(b[0])?c==="rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join(",")+")":a;return f},brighten:function(a){if(d)n(d,function(b){b.brighten(a)});else if(Ea(a)&&a!==0){var c;for(c=0;c<3;c++)b[c]+=u(a*255),b[c]<0&&(b[c]=0),b[c]>255&&(b[c]=255)}return this},rgba:b,setOpacity:function(a){b[3]=a;return this}}};ra.prototype={init:function(a,b){this.element=b==="span"?U(b):z.createElementNS(sa,b);this.renderer=a;this.attrSetters={}},opacity:1,animate:function(a,b,c){b=o(b,za,!0);Ta(this);if(b){b=x(b);if(c)b.complete=c;wb(this,a,b)}else this.attr(a),c&&c()},attr:function(a,b){var c,d,e,f,g=this.element,h=g.nodeName.toLowerCase(),i=this.renderer,j,k=this.attrSetters,m=this.shadows,l,p,s=this;fa(a)&&r(b)&&(c=a,a={},a[c]=b);if(fa(a))c=a,h==="circle"?c={x:"cx",y:"cy"}[c]||c:c==="strokeWidth"&&(c="stroke-width"),s=A(g,c)||this[c]||0,c!=="d"&&c!=="visibility"&&(s=parseFloat(s));else{for(c in a)if(j=!1,d=a[c],e=k[c]&&k[c].call(this,d,c),e!==!1){e!==y&&(d=e);if(c==="d")d&&d.join&&(d=d.join(" ")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0");else if(c==="x"&&h==="text")for(e=0;e<g.childNodes.length;e++)f=g.childNodes[e],A(f,"x")===A(g,"x")&&A(f,"x",d);else if(this.rotation&&(c==="x"||c==="y"))p=!0;else if(c==="fill")d=i.color(d,g,c);else if(h==="circle"&&(c==="x"||c==="y"))c={x:"cx",y:"cy"}[c]||c;else if(h==="rect"&&c==="r")A(g,{rx:d,ry:d}),j=!0;else if(c==="translateX"||c==="translateY"||c==="rotation"||c==="verticalAlign"||c==="scaleX"||c==="scaleY")j=p=!0;else if(c==="stroke")d=i.color(d,g,c);else if(c==="dashstyle")if(c="stroke-dasharray",d=d&&d.toLowerCase(),d==="solid")d=S;else{if(d){d=d.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=d.length;e--;)d[e]=u(d[e])*a["stroke-width"];d=d.join(",")}}else if(c==="width")d=u(d);else if(c==="align")c="text-anchor",d={left:"start",center:"middle",right:"end"}[d];else if(c==="title")e=g.getElementsByTagName("title")[0],e||(e=z.createElementNS(sa,"title"),g.appendChild(e)),e.textContent=d;c==="strokeWidth"&&(c="stroke-width");if(c==="stroke-width"||c==="stroke"){this[c]=d;if(this.stroke&&this["stroke-width"])A(g,"stroke",this.stroke),A(g,"stroke-width",this["stroke-width"]),this.hasStroke=!0;else if(c==="stroke-width"&&d===0&&this.hasStroke)g.removeAttribute("stroke"),this.hasStroke=!1;j=!0}this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(c)&&(l||(this.symbolAttr(a),l=!0),j=!0);if(m&&/^(width|height|visibility|x|y|d|transform)$/.test(c))for(e=m.length;e--;)A(m[e],c,c==="height"?q(d-(m[e].cutHeight||0),0):d);if((c==="width"||c==="height")&&h==="rect"&&d<0)d=0;this[c]=d;c==="text"?(d!==this.textStr&&delete this.bBox,this.textStr=d,this.added&&i.buildText(this)):j||A(g,c,d)}p&&this.updateTransform()}return s},addClass:function(a){A(this.element,"class",A(this.element,"class")+" "+a);return this},symbolAttr:function(a){var b=this;n("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(c){b[c]=o(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+
a.id+")":S)},crisp:function(a,b,c,d,e){var f,g={},h={},i,a=a||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;i=t(a)%2/2;h.x=T(b||this.x||0)+i;h.y=T(c||this.y||0)+i;h.width=T((d||this.width||0)-2*i);h.height=T((e||this.height||0)-2*i);h.strokeWidth=a;for(f in h)this[f]!==h[f]&&(this[f]=g[f]=h[f]);return g},css:function(a){var b=this.element,c=a&&a.width&&b.nodeName.toLowerCase()==="text",d,e="",f=function(a,b){return"-"+b.toLowerCase()};if(a&&a.color)a.fill=a.color;this.styles=a=v(this.styles,a);$&&c&&delete a.width;if(Fa&&!Z)c&&delete a.width,L(this.element,a);else{for(d in a)e+=d.replace(/([A-Z])/g,f)+":"+a[d]+";";A(b,"style",e)}c&&this.added&&this.renderer.buildText(this);return this},on:function(a,b){if(fb&&a==="click")this.element.ontouchstart=function(a){a.preventDefault();b()};this.element["on"+a]=b;return this},setRadialReference:function(a){this.element.radialReference=a;return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){this.inverted=!0;this.updateTransform();return this},htmlCss:function(a){var b=this.element;if(b=a&&b.tagName==="SPAN"&&a.width)delete a.width,this.textWidth=b,this.updateTransform();this.styles=v(this.styles,a);L(this.element,a);return this},htmlGetBBox:function(){var a=this.element,b=this.bBox;if(!b){if(a.nodeName==="text")a.style.position="absolute";b=this.bBox={x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}return b},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,c=this.translateX||0,d=this.translateY||0,e=this.x||0,f=this.y||0,g=this.textAlign||"left",h={left:0,center:0.5,right:1}[g],i=g&&g!=="left",j=this.shadows;L(b,{marginLeft:c,marginTop:d});j&&n(j,function(a){L(a,{marginLeft:c+1,marginTop:d+1})});this.inverted&&n(b.childNodes,function(c){a.invertChild(c,b)});if(b.tagName==="SPAN"){var k,m,j=this.rotation,l,p=0,s=1,p=0,xb;l=u(this.textWidth);var B=this.xCorr||0,w=this.yCorr||0,G=[j,g,b.innerHTML,this.textWidth].join(",");k={};if(G!==this.cTT){if(r(j))a.isSVG?(B=Fa?"-ms-transform":db?"-webkit-transform":eb?"MozTransform":Lb?"-o-transform":"",k[B]=k.transform="rotate("+j+"deg)"):(p=j*bb,s=Y(p),p=ca(p),k.filter=j?["progid:DXImageTransform.Microsoft.Matrix(M11=",s,", M12=",-p,", M21=",p,", M22=",s,", sizingMethod='auto expand')"].join(""):S),L(b,k);k=o(this.elemWidth,b.offsetWidth);m=o(this.elemHeight,b.offsetHeight);if(k>l&&/[ \-]/.test(b.textContent||b.innerText))L(b,{width:l+"px",display:"block",whiteSpace:"normal"}),k=l;l=a.fontMetrics(b.style.fontSize).b;B=s<0&&-k;w=p<0&&-m;xb=s*p<0;B+=p*l*(xb?1-h:h);w-=s*l*(j?xb?h:1-h:1);i&&(B-=k*h*(s<0?-1:1),j&&(w-=m*h*(p<0?-1:1)),L(b,{textAlign:g}));this.xCorr=B;this.yCorr=w}L(b,{left:e+B+"px",top:f+w+"px"});if(db)m=b.offsetHeight;this.cTT=G}}else this.alignOnAdd=!0},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,d=this.scaleY,e=this.inverted,f=this.rotation;e&&(a+=this.attr("width"),b+=this.attr("height"));a=["translate("+a+","+b+")"];e?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+(this.x||0)+" "+(this.y||0)+")");(r(c)||r(d))&&a.push("scale("+o(c,1)+" "+o(d,1)+")");a.length&&A(this.element,"transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){var d,e,f,g,h={};e=this.renderer;f=e.alignedObjects;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!c||fa(c))this.alignTo=d=c||"renderer",ga(f,this),f.push(this),c=null}else a=this.alignOptions,b=this.alignByTranslate,d=this.alignTo;c=o(c,e[d],e);d=a.align;e=a.verticalAlign;f=(c.x||0)+(a.x||0);g=(c.y||0)+(a.y||0);if(d==="right"||d==="center")f+=(c.width-(a.width||0))/{right:1,center:2}[d];h[b?"translateX":"x"]=t(f);if(e==="bottom"||e==="middle")g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1);h[b?"translateY":"y"]=t(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(){var a=this.bBox,b=this.renderer,c,d=this.rotation;c=this.element;var e=this.styles,f=d*bb;if(!a){if(c.namespaceURI===sa||b.forExport){try{a=c.getBBox?v({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight}}catch(g){}if(!a||a.width<0)a={width:0,height:0}}else a=this.htmlGetBBox();if(b.isSVG){b=a.width;c=a.height;if(Fa&&e&&e.fontSize==="11px"&&c.toPrecision(3)==="22.7")a.height=c=14;if(d)a.width=Q(c*ca(f))+Q(b*Y(f)),a.height=Q(c*Y(f))+Q(b*ca(f))}this.bBox=a}return a},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.hide()}})},add:function(a){var b=this.renderer,c=a||b,d=c.element||b.box,e=d.childNodes,f=this.element,g=A(f,"zIndex"),h;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);if(g)c.handleZ=!0,g=u(g);if(c.handleZ)for(c=0;c<e.length;c++)if(a=e[c],b=A(a,"zIndex"),a!==f&&(u(b)>g||!r(g)&&r(b))){d.insertBefore(f,a);h=!0;break}h||d.appendChild(f);this.added=!0;D(this,"add");return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d,e;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;Ta(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(e=0;e<a.stops.length;e++)a.stops[e]=a.stops[e].destroy();a.stops=null}a.safeRemoveChild(b);c&&n(c,function(b){a.safeRemoveChild(b)});a.alignTo&&ga(a.renderer.alignedObjects,a);for(d in a)delete a[d];return null},shadow:function(a,b,c){var d=[],e,f,g=this.element,h,i,j,k;if(a){i=o(a.width,3);j=(a.opacity||0.15)/i;k=this.parentInverted?"(-1,-1)":"("+o(a.offsetX,1)+", "+o(a.offsetY,1)+")";for(e=1;e<=i;e++){f=g.cloneNode(0);h=i*2+1-2*e;A(f,{isShadow:"true",stroke:a.color||"black","stroke-opacity":j*e,"stroke-width":h,transform:"translate"+k,fill:S});if(c)A(f,"height",q(A(f,"height")-h,0)),f.cutHeight=h;b?b.element.appendChild(f):g.parentNode.insertBefore(f,g);d.push(f)}this.shadows=d}return this}};var Ca=function(){this.init.apply(this,arguments)};Ca.prototype={Element:ra,init:function(a,b,c,d){var e=location,f;f=this.createElement("svg").attr({xmlns:sa,version:"1.1"});a.appendChild(f.element);this.isSVG=!0;this.box=f.element;this.boxWrapper=f;this.alignedObjects=[];this.url=(eb||db)&&z.getElementsByTagName("base").length?e.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(z.createTextNode("Created with Highcharts 3.0.2"));this.defs=this.createElement("defs").add();this.forExport=d;this.gradients={};this.setSize(b,c,!1);var g;if(eb&&a.getBoundingClientRect)this.subPixelFix=b=function(){L(a,{left:0,top:0});g=a.getBoundingClientRect();L(a,{left:ja(g.left)-g.left+"px",top:ja(g.top)-g.top+"px"})},b(),J(O,"resize",b)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();Ha(this.gradients||{});this.gradients=null;if(a)this.defs=a.destroy();this.subPixelFix&&ba(O,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:function(){},buildText:function(a){for(var b=a.element,c=this,d=c.forExport,e=o(a.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g),f=b.childNodes,g=/style="([^"]+)"/,h=/href="([^"]+)"/,i=A(b,"x"),j=a.styles,k=j&&j.width&&u(j.width),m=j&&j.lineHeight,l=f.length;l--;)b.removeChild(f[l]);k&&!a.added&&this.box.appendChild(b);e[e.length-1]===""&&e.pop();n(e,function(e,f){var l,o=0,e=e.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");l=e.split("|||");n(l,function(e){if(e!==""||l.length===1){var p={},n=z.createElementNS(sa,"tspan"),q;g.test(e)&&(q=e.match(g)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),A(n,"style",q));h.test(e)&&!d&&(A(n,"onclick",'location.href="'+e.match(h)[1]+'"'),L(n,{cursor:"pointer"}));e=(e.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");n.appendChild(z.createTextNode(e));o?p.dx=0:p.x=i;A(n,p);!o&&f&&(!Z&&d&&L(n,{display:"block"}),A(n,"dy",m||c.fontMetrics(/px$/.test(n.style.fontSize)?n.style.fontSize:j.fontSize).h,db&&n.offsetHeight));b.appendChild(n);o++;if(k)for(var e=e.replace(/([^\^])-/g,"$1- ").split(" "),r,t=[];e.length||t.length;)delete a.bBox,r=a.getBBox().width,p=r>k,!p||e.length===1?(e=t,t=[],e.length&&(n=z.createElementNS(sa,"tspan"),A(n,{dy:m||16,x:i}),q&&A(n,"style",q),b.appendChild(n),r>k&&(k=r))):(n.removeChild(n.firstChild),t.unshift(e.pop())),e.length&&n.appendChild(z.createTextNode(e.join(" ").replace(/- /g,"-")))}})})},button:function(a,b,c,d,e,f,g){var h=this.label(a,b,c,null,null,null,null,null,"button"),i=0,j,k,m,l,p,a={x1:0,y1:0,x2:0,y2:1},e=x({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:a,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},e);m=e.style;delete e.style;f=x(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#FFF"],[1,"#ACF"]]}},f);l=f.style;delete f.style;g=x(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#9BD"],[1,"#CDF"]]}},g);p=g.style;delete g.style;J(h.element,"mouseenter",function(){h.attr(f).css(l)});J(h.element,"mouseleave",function(){j=[e,f,g][i];k=[m,l,p][i];h.attr(j).css(k)});h.setState=function(a){(i=a)?a===2&&h.attr(g).css(p):h.attr(e).css(m)};return h.on("click",function(){d.call(h)}).attr(e).css(v({cursor:"default"},m))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=t(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=t(a[2])+b%2/2);return a},path:function(a){var b={fill:S};Da(a)?b.d=a:V(a)&&v(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=V(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},arc:function(a,b,c,d,e,f){if(V(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;return this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0})},rect:function(a,b,c,d,e,f){e=V(a)?a.r:e;e=this.createElement("rect").attr({rx:e,ry:e,fill:S});return e.attr(V(a)?a:e.crisp(f,a,b,q(c,0),q(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[o(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return r(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:S};arguments.length>1&&v(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(t(b),t(c),d,e,f),i=/^url\((.*?)\)$/,j,k;if(h)g=this.path(h),v(g,{symbolName:a,x:b,y:c,width:d,height:e}),f&&v(g,f);else if(i.test(a))k=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(t((d-b[0])/2),t((e-b[1])/2)))},j=a.match(i)[1],a=Nb[j],g=this.image(j).attr({x:b,y:c}),g.isImg=!0,a?k(g,a):(g.attr({width:0,height:0}),U("img",{onload:function(){k(g,Nb[j]=[this.width,this.height])},src:j}));return g},symbols:{circle:function(a,b,c,d){var e=0.166*c;return["M",a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-0.001,d=e.innerR,h=e.open,i=Y(f),j=ca(f),k=Y(g),g=ca(g),e=e.end-f<Ka?0:1;return["M",a+c*i,b+c*j,"A",c,c,0,e,1,a+c*k,b+c*g,h?"M":"L",a+d*k,b+d*g,"A",d,d,0,e,0,a+d*i,b+d*j,h?"":"Z"]}},clipRect:function(a,b,c,d){var e="highcharts-"+ub++,f=this.createElement("clipPath").attr({id:e}).add(this.defs),a=this.rect(a,b,c,d,0).add(f);a.id=e;a.clipPath=f;return a},color:function(a,b,c){var d=this,e,f=/^rgba/,g,h,i,j,k,m,l,p=[];a&&a.linearGradient?g="linearGradient":a&&a.radialGradient&&(g="radialGradient");if(g){c=a[g];h=d.gradients;j=a.stops;b=b.radialReference;Da(c)&&(a[g]=c={x1:c[0],y1:c[1],x2:c[2],y2:c[3],gradientUnits:"userSpaceOnUse"});g==="radialGradient"&&b&&!r(c.gradientUnits)&&(c=x(c,{cx:b[0]-b[2]/2+c.cx*b[2],cy:b[1]-b[2]/2+c.cy*b[2],r:c.r*b[2],gradientUnits:"userSpaceOnUse"}));for(l in c)l!=="id"&&p.push(l,c[l]);for(l in j)p.push(j[l]);p=p.join(",");h[p]?a=h[p].id:(c.id=a="highcharts-"+ub++,h[p]=i=d.createElement(g).attr(c).add(d.defs),i.stops=[],n(j,function(a){f.test(a[1])?(e=ma(a[1]),k=e.get("rgb"),m=e.get("a")):(k=a[1],m=1);a=d.createElement("stop").attr({offset:a[0],"stop-color":k,"stop-opacity":m}).add(i);i.stops.push(a)}));return"url("+d.url+"#"+a+")"}else return f.test(a)?(e=ma(a),A(b,c+"-opacity",e.get("a")),e.get("rgb")):(b.removeAttribute(c+"-opacity"),a)},text:function(a,b,c,d){var e=N.chart.style,f=$||!Z&&this.forExport;if(d&&!this.forExport)return this.html(a,b,c);b=t(o(b,0));c=t(o(c,0));a=this.createElement("text").attr({x:b,y:c,text:a}).css({fontFamily:e.fontFamily,fontSize:e.fontSize});f&&a.css({position:"absolute"});a.x=b;a.y=c;return a},html:function(a,b,c){var d=N.chart.style,e=this.createElement("span"),f=e.attrSetters,g=e.element,h=e.renderer;f.text=function(a){a!==g.innerHTML&&delete this.bBox;g.innerHTML=a;return!1};f.x=f.y=f.align=function(a,b){b==="align"&&(b="textAlign");e[b]=a;e.htmlUpdateTransform();return!1};e.attr({text:a,x:t(b),y:t(c)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:d.fontFamily,fontSize:d.fontSize});e.css=e.htmlCss;if(h.isSVG)e.add=function(a){var b,c=h.box.parentNode,d=[];if(a){if(b=a.div,!b){for(;a;)d.push(a),a=a.parentGroup;n(d.reverse(),function(a){var d;b=a.div=a.div||U(ya,{className:A(a.element,"class")},{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px"},b||c);d=b.style;v(a.attrSetters,{translateX:function(a){d.left=a+"px"},translateY:function(a){d.top=a+"px"},visibility:function(a,b){d[b]=a}})})}}else b=c;b.appendChild(g);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e};return e},fontMetrics:function(a){var a=u(a||11),a=a<24?a+4:t(a*1.2),b=t(a*0.8);return{h:a,b:b}},label:function(a,b,c,d,e,f,g,h,i){function j(){var a,b;a=o.element.style;w=(Ma===void 0||yb===void 0||s.styles.textAlign)&&o.getBBox();s.width=(Ma||w.width||0)+2*q+hb;s.height=(yb||w.height||0)+2*q;A=q+p.fontMetrics(a&&a.fontSize).b;if(z){if(!B)a=t(-G*q),b=h?-A:0,s.box=B=d?p.symbol(d,a,b,s.width,s.height):p.rect(a,b,s.width,s.height,0,u[Pb]),B.add(s);B.isImg||B.attr(x({width:s.width,height:s.height},u));u=null}}function k(){var a=s.styles,a=a&&a.textAlign,b=hb+q*(1-G),c;c=h?0:A;if(r(Ma)&&(a==="center"||a==="right"))b+={center:0.5,right:1}[a]*(Ma-w.width);(b!==o.x||c!==o.y)&&o.attr({x:b,y:c});o.x=b;o.y=c}function m(a,b){B?B.attr(a,b):u[a]=b}function l(){o.add(s);s.attr({text:a,x:b,y:c});B&&r(e)&&s.attr({anchorX:e,anchorY:f})}var p=this,s=p.g(i),o=p.text("",0,0,g).attr({zIndex:1}),B,w,G=0,q=3,hb=0,Ma,yb,P,H,C=0,u={},A,g=s.attrSetters,z;J(s,"add",l);g.width=function(a){Ma=a;return!1};g.height=function(a){yb=a;return!1};g.padding=function(a){r(a)&&a!==q&&(q=a,k());return!1};g.paddingLeft=function(a){r(a)&&a!==hb&&(hb=a,k());return!1};g.align=function(a){G={left:0,center:0.5,right:1}[a];return!1};g.text=function(a,b){o.attr(b,a);j();k();return!1};g[Pb]=function(a,b){z=!0;C=a%2/2;m(b,a);return!1};g.stroke=g.fill=g.r=function(a,b){b==="fill"&&(z=!0);m(b,a);return!1};g.anchorX=function(a,b){e=a;m(b,a+C-P);return!1};g.anchorY=function(a,b){f=a;m(b,a-H);return!1};g.x=function(a){s.x=a;a-=G*((Ma||w.width)+q);P=t(a);s.attr("translateX",P);return!1};g.y=function(a){H=s.y=t(a);s.attr("translateY",H);return!1};var E=s.css;return v(s,{css:function(a){if(a){var b={},a=x(a);n("fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration".split(","),function(c){a[c]!==y&&(b[c]=a[c],delete a[c])});o.css(b)}return E.call(s,a)},getBBox:function(){return{width:w.width+2*q,height:w.height+2*q,x:w.x-q,y:w.y-q}},shadow:function(a){B&&B.shadow(a);return s},destroy:function(){ba(s,"add",l);ba(s.element,"mouseenter");ba(s.element,"mouseleave");o&&(o=o.destroy());B&&(B=B.destroy());ra.prototype.destroy.call(s);s=p=j=k=m=l=null}})}};Sa=Ca;var F;if(!Z&&!$){Highcharts.VMLElement=F={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e=b===ya;(b==="shape"||e)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",e?"hidden":"visible");c.push(' style="',d.join(""),'"/>');if(b)c=e||b==="span"||b==="img"?c.join(""):a.prepVML(c),this.element=U(c);this.renderer=a;this.attrSetters={}},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();D(this,"add");return this},updateTransform:ra.prototype.htmlUpdateTransform,attr:function(a,b){var c,d,e,f=this.element||{},g=f.style,h=f.nodeName,i=this.renderer,j=this.symbolName,k,m=this.shadows,l,p=this.attrSetters,s=this;fa(a)&&r(b)&&(c=a,a={},a[c]=b);if(fa(a))c=a,s=c==="strokeWidth"||c==="stroke-width"?this.strokeweight:this[c];else for(c in a)if(d=a[c],l=!1,e=p[c]&&p[c].call(this,d,c),e!==!1&&d!==null){e!==y&&(d=e);if(j&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(c))k||(this.symbolAttr(a),k=!0),l=!0;else if(c==="d"){d=d||[];this.d=d.join(" ");e=d.length;l=[];for(var o;e--;)if(Ea(d[e]))l[e]=t(d[e]*10)-5;else if(d[e]==="Z")l[e]="x";else if(l[e]=d[e],d.isArc&&(d[e]==="wa"||d[e]==="at"))o=d[e]==="wa"?1:-1,l[e+5]===l[e+7]&&(l[e+7]-=o),l[e+6]===l[e+8]&&(l[e+8]-=o);d=l.join(" ")||"x";f.path=d;if(m)for(e=m.length;e--;)m[e].path=m[e].cutOff?this.cutOffPath(d,m[e].cutOff):d;l=!0}else if(c==="visibility"){if(m)for(e=m.length;e--;)m[e].style[c]=d;h==="DIV"&&(d=d==="hidden"?"-999em":0,cb||(g[c]=d?"visible":"hidden"),c="top");g[c]=d;l=!0}else if(c==="zIndex")d&&(g[c]=d),l=!0;else if(la(c,["x","y","width","height"])!==-1)this[c]=d,c==="x"||c==="y"?c={x:"left",y:"top"}[c]:d=q(0,d),this.updateClipping?(this[c]=d,this.updateClipping()):g[c]=d,l=!0;else if(c==="class"&&h==="DIV")f.className=d;else if(c==="stroke")d=i.color(d,f,c),c="strokecolor";else if(c==="stroke-width"||c==="strokeWidth")f.stroked=d?!0:!1,c="strokeweight",this[c]=d,Ea(d)&&(d+="px");else if(c==="dashstyle")(f.getElementsByTagName("stroke")[0]||U(i.prepVML(["<stroke/>"]),null,null,f))[c]=d||"solid",this.dashstyle=d,l=!0;else if(c==="fill")if(h==="SPAN")g.color=d;else{if(h!=="IMG")f.filled=d!==S?!0:!1,d=i.color(d,f,c,this),c="fillcolor"}else if(c==="opacity")l=!0;else if(h==="shape"&&c==="rotation")this[c]=d,f.style.left=-t(ca(d*bb)+1)+"px",f.style.top=t(Y(d*bb))+"px";else if(c==="translateX"||c==="translateY"||c==="rotation")this[c]=d,this.updateTransform(),l=!0;else if(c==="text")this.bBox=null,f.innerHTML=d,l=!0;l||(cb?f[c]=d:A(f,c,d))}return s},clip:function(a){var b=this,c;a?(c=a.members,ga(c,b),c.push(b),b.destroyClip=function(){ga(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:cb?"inherit":"rect(auto)"});return b.css(a)},css:ra.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Ra(a)},destroy:function(){this.destroyClip&&this.destroyClip();return ra.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=O.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c,a=a.split(/[ ,]/);c=a.length;if(c===9||c===11)a[c-4]=a[c-2]=u(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,c){var d=[],e,f=this.element,g=this.renderer,h,i=f.style,j,k=f.path,m,l,p,s;k&&typeof k.value!=="string"&&(k="x");l=k;if(a){p=o(a.width,3);s=(a.opacity||0.15)/p;for(e=1;e<=3;e++){m=p*2+1-2*e;c&&(l=this.cutOffPath(k.value,m+0.5));j=['<shape isShadow="true" strokeweight="',m,'" filled="false" path="',l,'" coordsize="10 10" style="',f.style.cssText,'" />'];h=U(g.prepVML(j),null,{left:u(i.left)+o(a.offsetX,1),top:u(i.top)+o(a.offsetY,1)});if(c)h.cutOff=m+1;j=['<stroke color="',a.color||"black",'" opacity="',s*e,'"/>'];U(g.prepVML(j),null,null,h);b?b.element.appendChild(h):f.parentNode.insertBefore(h,f);d.push(h)}this.shadows=d}return this}};F=ea(ra,F);var na={Element:F,isIE8:Aa.indexOf("MSIE 8.0")>-1,init:function(a,b,c){var d,e;this.alignedObjects=[];d=this.createElement(ya);e=d.element;e.style.position="relative";a.appendChild(d.element);this.isVML=!0;this.box=e;this.boxWrapper=d;this.setSize(b,c,!1);if(!z.namespaces.hcv)z.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),z.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,b,c,d){var e=this.createElement(),f=V(a);return v(e,{members:[],left:f?a.x:a,top:f?a.y:b,width:f?a.width:c,height:f?a.height:d,getCSS:function(a){var b=a.element,c=b.nodeName,a=a.inverted,d=this.top-(c==="shape"?b.offsetTop:0),e=this.left,b=e+this.width,f=d+this.height,d={clip:"rect("+t(a?e:d)+"px,"+t(a?f:b)+"px,"+t(a?b:f)+"px,"+t(a?d:e)+"px)"};!a&&cb&&c==="DIV"&&v(d,{width:b+"px",height:f+"px"});return d},updateClipping:function(){n(e.members,function(a){a.css(e.getCSS(a))})}})},color:function(a,b,c,d){var e=this,f,g=/^rgba/,h,i,j=S;a&&a.linearGradient?i="gradient":a&&a.radialGradient&&(i="pattern");if(i){var k,m,l=a.linearGradient||a.radialGradient,p,s,o,B,w,q="",a=a.stops,r,t=[],y=function(){h=['<fill colors="'+t.join(",")+'" opacity="',o,'" o:opacity2="',s,'" type="',i,'" ',q,'focus="100%" method="any" />'];U(e.prepVML(h),null,null,b)};p=a[0];r=a[a.length-1];p[0]>0&&a.unshift([0,p[1]]);r[0]<1&&a.push([1,r[1]]);n(a,function(a,b){g.test(a[1])?(f=ma(a[1]),k=f.get("rgb"),m=f.get("a")):(k=a[1],m=1);t.push(a[0]*100+"% "+k);b?(o=m,B=k):(s=m,w=k)});if(c==="fill")if(i==="gradient")c=l.x1||l[0]||0,a=l.y1||l[1]||0,p=l.x2||l[2]||0,l=l.y2||l[3]||0,q='angle="'+(90-I.atan((l-a)/(p-c))*180/Ka)+'"',y();else{var j=l.r,v=j*2,P=j*2,H=l.cx,C=l.cy,x=b.radialReference,u,j=function(){x&&(u=d.getBBox(),H+=(x[0]-u.x)/u.width-0.5,C+=(x[1]-u.y)/u.height-0.5,v*=x[2]/u.width,P*=x[2]/u.height);q='src="'+N.global.VMLRadialGradientURL+'" size="'+v+","+P+'" origin="0.5,0.5" position="'+H+","+
C+'" color2="'+w+'" ';y()};d.added?j():J(d,"add",j);j=B}else j=k}else if(g.test(a)&&b.tagName!=="IMG")f=ma(a),h=["<",c,' opacity="',f.get("a"),'"/>'],U(this.prepVML(h),null,null,b),j=f.get("rgb");else{j=b.getElementsByTagName(c);if(j.length)j[0].opacity=1,j[0].type="solid";j=a}return j},prepVML:function(a){var b=this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","<hcv:");return a},text:Ca.prototype.html,path:function(a){var b={coordsize:"10 10"};Da(a)?b.d=a:V(a)&&v(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,c){var d=this.symbol("circle");if(V(a))c=a.r,b=a.y,a=a.x;d.isCircle=!0;return d.attr({x:a,y:b,width:2*c,height:2*c})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement(ya).attr(b)},image:function(a,b,c,d,e){var f=this.createElement("img").attr({src:a});arguments.length>1&&f.attr({x:b,y:c,width:d,height:e});return f},rect:function(a,b,c,d,e,f){if(V(a))b=a.y,c=a.width,d=a.height,f=a.strokeWidth,a=a.x;var g=this.symbol("rect");g.r=e;return g.attr(g.crisp(f,a,b,q(c,0),q(d,0)))},invertChild:function(a,b){var c=b.style;L(a,{flip:"x",left:u(c.width)-1,top:u(c.height)-1,rotation:-90})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=e.innerR,d=Y(f),i=ca(f),j=Y(g),k=ca(g);if(g-f===0)return["x"];f=["wa",a-h,b-h,a+h,b+h,a+h*d,b+h*i,a+h*j,b+h*k];e.open&&!c&&f.push("e","M",a,b);f.push("at",a-c,b-c,a+c,b+c,a+c*j,b+c*k,a+c*d,b+c*i,"x","e");f.isArc=!0;return f},circle:function(a,b,c,d,e){e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(a,b,c,d,e){var f=a+c,g=b+d,h;!r(e)||!e.r?f=Ca.prototype.symbols.square.apply(0,arguments):(h=K(e.r,c,d),f=["M",a+h,b,"L",f-h,b,"wa",f-2*h,b,f,b+2*h,f-h,b,f,b+h,"L",f,g-h,"wa",f-2*h,g-2*h,f,g,f,g-h,f-h,g,"L",a+h,g,"wa",a,g-2*h,a+2*h,g,a+h,g,a,g-h,"L",a,b+h,"wa",a,b,a+2*h,b+2*h,a,b+h,a+h,b,"x","e"]);return f}}};Highcharts.VMLRenderer=F=function(){this.init.apply(this,arguments)};F.prototype=x(Ca.prototype,na);Sa=F}var Rb;if($)Highcharts.CanVGRenderer=F=function(){sa="http://www.w3.org/1999/xhtml"},F.prototype.symbols={},Rb=function(){function a(){var a=b.length,d;for(d=0;d<a;d++)b[d]();b=[]}var b=[];return{push:function(c,d){b.length===0&&Tb(d,a);b.push(c)}}}(),Sa=F;Ja.prototype={addLabel:function(){var a=this.axis,b=a.options,c=a.chart,d=a.horiz,e=a.categories,f=a.series[0]&&a.series[0].names,g=this.pos,h=b.labels,i=a.tickPositions,d=d&&e&&!h.step&&!h.staggerLines&&!h.rotation&&c.plotWidth/i.length||!d&&(c.optionsMarginLeft||c.plotWidth/2),j=g===i[0],k=g===i[i.length-1],f=e?o(e[g],f&&f[g],g):g,e=this.label,i=i.info,m;a.isDatetimeAxis&&i&&(m=b.dateTimeLabelFormats[i.higherRanks[g]||i.unitName]);this.isFirst=j;this.isLast=k;b=a.labelFormatter.call({axis:a,chart:c,isFirst:j,isLast:k,dateTimeLabelFormat:m,value:a.isLog?ia(da(f)):f});g=d&&{width:q(1,t(d-2*(h.padding||10)))+"px"};g=v(g,h.style);if(r(e))e&&e.attr({text:b}).css(g);else{d={align:h.align};if(Ea(h.rotation))d.rotation=h.rotation;this.label=r(b)&&h.enabled?c.renderer.text(b,0,0,h.useHTML).attr(d).css(g).add(a.labelGroup):null}},getLabelSize:function(){var a=this.label,b=this.axis;return a?(this.labelBBox=a.getBBox())[b.horiz?"height":"width"]:0},getLabelSides:function(){var a=this.axis.options.labels,b=this.labelBBox.width,a=b*{left:0,center:0.5,right:1}[a.align]-a.x;return[-a,b-a]},handleOverflow:function(a,b){var c=!0,d=this.axis,e=d.chart,f=this.isFirst,g=this.isLast,h=b.x,i=d.reversed,j=d.tickPositions;if(f||g){var k=this.getLabelSides(),m=k[0],k=k[1],e=e.plotLeft,l=e+d.len,j=(d=d.ticks[j[a+(f?1:-1)]])&&d.label.xy&&d.label.xy.x+d.getLabelSides()[f?0:1];f&&!i||g&&i?h+m<e&&(h=e-m,d&&h+k>j&&(c=!1)):h+k>l&&(h=l-k,d&&h+m<j&&(c=!1));b.x=h}return c},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var i=this.axis,j=i.transA,k=i.reversed,i=i.staggerLines,a=a+e.x-(f&&d?f*j*(k?-1:1):0),b=b+e.y-(f&&!d?f*j*(k?1:-1):0);r(e.y)||(b+=u(c.styles.lineHeight)*0.9-c.getBBox().height/2);i&&(b+=g/(h||1)%i*16);return{x:a,y:b}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,j=this.pos,k=e.labels,m=this.gridLine,l=h?h+"Grid":"grid",p=h?h+"Tick":"tick",s=e[l+"LineWidth"],n=e[l+"LineColor"],B=e[l+"LineDashStyle"],w=e[p+"Length"],l=e[p+"Width"]||0,q=e[p+"Color"],r=e[p+"Position"],p=this.mark,t=k.step,v=!0,u=d.tickmarkOffset,P=this.getPosition(g,j,u,b),H=P.x,P=P.y,C=g&&H===d.pos||!g&&P===d.pos+d.len?-1:1,x=d.staggerLines;this.isActive=!0;if(s){j=d.getPlotLinePath(j+u,s*C,b,!0);if(m===y){m={stroke:n,"stroke-width":s};if(B)m.dashstyle=B;if(!h)m.zIndex=1;if(b)m.opacity=0;this.gridLine=m=s?f.path(j).attr(m).add(d.gridGroup):null}if(!b&&m&&j)m[this.isNew?"attr":"animate"]({d:j,opacity:c})}if(l&&w)r==="inside"&&(w=-w),d.opposite&&(w=-w),b=this.getMarkPath(H,P,w,l*C,g,f),p?p.animate({d:b,opacity:c}):this.mark=f.path(b).attr({stroke:q,"stroke-width":l,opacity:c}).add(d.axisGroup);if(i&&!isNaN(H))i.xy=P=this.getLabelPosition(H,P,i,g,k,u,a,t),this.isFirst&&!o(e.showFirstLabel,1)||this.isLast&&!o(e.showLastLabel,1)?v=!1:!x&&g&&k.overflow==="justify"&&!this.handleOverflow(a,P)&&(v=!1),t&&a%t&&(v=!1),v&&!isNaN(P.y)?(P.opacity=c,i[this.isNew?"attr":"animate"](P),this.isNew=!1):i.attr("y",-9999)},destroy:function(){Ha(this,this.axis)}};pb.prototype={render:function(){var a=this,b=a.axis,c=b.horiz,d=(b.pointRange||0)/2,e=a.options,f=e.label,g=a.label,h=e.width,i=e.to,j=e.from,k=r(j)&&r(i),m=e.value,l=e.dashStyle,p=a.svgElem,s=[],n,B=e.color,w=e.zIndex,G=e.events,t=b.chart.renderer;b.isLog&&(j=ka(j),i=ka(i),m=ka(m));if(h){if(s=b.getPlotLinePath(m,h),d={stroke:B,"stroke-width":h},l)d.dashstyle=l}else if(k){if(j=q(j,b.min-d),i=K(i,b.max+d),s=b.getPlotBandPath(j,i,e),d={fill:B},e.borderWidth)d.stroke=e.borderColor,d["stroke-width"]=e.borderWidth}else return;if(r(w))d.zIndex=w;if(p)s?p.animate({d:s},null,p.onGetPath):(p.hide(),p.onGetPath=function(){p.show()});else if(s&&s.length&&(a.svgElem=p=t.path(s).attr(d).add(),G))for(n in e=function(b){p.on(b,function(c){G[b].apply(a,[c])})},G)e(n);if(f&&r(f.text)&&s&&s.length&&b.width>0&&b.height>0){f=x({align:c&&k&&"center",x:c?!k&&4:10,verticalAlign:!c&&k&&"middle",y:c?k?16:10:k?6:-4,rotation:c&&!k&&90},f);if(!g)a.label=g=t.text(f.text,0,0).attr({align:f.textAlign||f.align,rotation:f.rotation,zIndex:w}).css(f.style).add();b=[s[1],s[4],o(s[6],s[1])];s=[s[2],s[5],o(s[7],s[2])];c=Ga(b);k=Ga(s);g.align(f,!1,{x:c,y:k,width:pa(b)-c,height:pa(s)-k});g.show()}else g&&g.hide();return a},destroy:function(){ga(this.axis.plotLinesAndBands,this);Ha(this,this.axis)}};Kb.prototype={destroy:function(){Ha(this,this.axis)},setTotal:function(a){this.cum=this.total=a},render:function(a){var b=this.options,c=b.format,c=c?wa(c,this):b.formatter.call(this);this.label?this.label.attr({text:c,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(c,0,0,b.useHTML).css(b.style).attr({align:this.textAlign,rotation:b.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,b){var c=this.axis,d=c.chart,e=d.inverted,f=this.isNegative,g=c.translate(this.percent?100:this.total,0,0,0,1),c=c.translate(0),c=Q(g-c),h=d.xAxis[0].translate(this.x)+a,i=d.plotHeight,f={x:e?f?g:g-c:h,y:e?i-h-b:f?i-g-c:i-g,width:e?c:b,height:e?b:c};if(e=this.label)e.align(this.alignOptions,null,f),f=e.alignAttr,e.attr({visibility:this.options.crop===!1||d.isInsidePlot(f.x,f.y)?Z?"inherit":"visible":"hidden"})}};ab.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:M,lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#4d759e",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return ua(this.total,-1)},style:M.style}},defaultLeftAxisOptions:{labels:{align:"right",x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{align:"left",x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{align:"center",x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{align:"center",x:0,y:-5},title:{rotation:0}},init:function(a,b){var c=b.isX;this.horiz=a.inverted?!c:c;this.xOrY=(this.isXAxis=c)?"x":"y";this.opposite=b.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(b);var d=this.options,e=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter;this.staggerLines=this.horiz&&d.labels.staggerLines;this.userOptions=b;this.minPixelPadding=0;this.chart=a;this.reversed=d.reversed;this.zoomEnabled=d.zoomEnabled!==!1;this.categories=d.categories||e==="category";this.isLog=e==="logarithmic";this.isDatetimeAxis=e==="datetime";this.isLinked=r(d.linkedTo);this.tickmarkOffset=this.categories&&d.tickmarkPlacement==="between"?0.5:0;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.stacks={};this._stacksTouched=0;this.min=this.max=null;var f,d=this.options.events;la(this,a.axes)===-1&&(a.axes.push(this),a[c?"xAxis":"yAxis"].push(this));this.series=this.series||[];if(a.inverted&&c&&this.reversed===y)this.reversed=!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in d)J(this,f,d[f]);if(this.isLog)this.val2lin=ka,this.lin2val=da},setOptions:function(a){this.options=x(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],x(N[this.isXAxis?"xAxis":"yAxis"],a))},update:function(a,b){var c=this.chart,a=c.options[this.xOrY+"Axis"][this.options.index]=x(this.userOptions,a);this.destroy();this._addedPlotLB=!1;this.init(c,a);c.isDirtyBox=!0;o(b,!0)&&c.redraw()},remove:function(a){var b=this.chart,c=this.xOrY+"Axis";n(this.series,function(a){a.remove(!1)});ga(b.axes,this);ga(b[c],this);b.options[c].splice(this.options.index,1);n(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;o(a,!0)&&b.redraw()},defaultLabelFormatter:function(){var a=this.axis,b=this.value,c=a.categories,d=this.dateTimeLabelFormat,e=N.lang.numericSymbols,f=e&&e.length,g,h=a.options.labels.format,a=a.isLog?b:a.tickInterval;if(h)g=wa(h,this);else if(c)g=b;else if(d)g=Ua(d,b);else if(f&&a>=1E3)for(;f--&&g===y;)c=Math.pow(1E3,f+1),a>=c&&e[f]!==null&&(g=ua(b/c,-1)+e[f]);g===y&&(g=b>=1E3?ua(b,0):ua(b,-1));return g},getSeriesExtremes:function(){var a=this,b=a.chart,c=a.stacks,d=[],e=[],f=a._stacksTouched+=1,g,h;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=null;n(a.series,function(g){if(g.visible||!b.options.chart.ignoreHiddenSeries){var j=g.options,k,m,l,p,s,n,B,w,G,t=j.threshold,v,u=[],x=0;a.hasVisibleSeries=!0;if(a.isLog&&t<=0)t=j.threshold=null;if(a.isXAxis){if(j=g.xData,j.length)a.dataMin=K(o(a.dataMin,j[0]),Ga(j)),a.dataMax=q(o(a.dataMax,j[0]),pa(j))}else{var P,H,C,A=g.cropped,z=g.xAxis.getExtremes(),E=!!g.modifyValue;k=j.stacking;a.usePercentage=k==="percent";if(k)s=j.stack,p=g.type+o(s,""),n="-"+p,g.stackKey=p,m=d[p]||[],d[p]=m,l=e[n]||[],e[n]=l;if(a.usePercentage)a.dataMin=0,a.dataMax=99;j=g.processedXData;B=g.processedYData;v=B.length;for(h=0;h<v;h++){w=j[h];G=B[h];if(k)H=(P=G<t)?l:m,C=P?n:p,r(H[w])?(H[w]=ia(H[w]+G),G=[G,H[w]]):H[w]=G,c[C]||(c[C]={}),c[C][w]||(c[C][w]=new Kb(a,a.options.stackLabels,P,w,s,k)),c[C][w].setTotal(H[w]),c[C][w].touched=f;if(G!==null&&G!==y&&(!a.isLog||G.length||G>0))if(E&&(G=g.modifyValue(G)),g.getExtremesFromAll||A||(j[h+1]||w)>=z.min&&(j[h-1]||w)<=z.max)if(w=G.length)for(;w--;)G[w]!==null&&(u[x++]=G[w]);else u[x++]=G}if(!a.usePercentage&&u.length)g.dataMin=k=Ga(u),g.dataMax=g=pa(u),a.dataMin=K(o(a.dataMin,k),k),a.dataMax=q(o(a.dataMax,g),g);if(r(t))if(a.dataMin>=t)a.dataMin=t,a.ignoreMinPadding=!0;else if(a.dataMax<t)a.dataMax=t,a.ignoreMaxPadding=!0}}});for(g in c)for(h in c[g])c[g][h].touched<f&&(c[g][h].destroy(),delete c[g][h])},translate:function(a,b,c,d,e,f){var g=this.len,h=1,i=0,j=d?this.oldTransA:this.transA,d=d?this.oldMin:this.min,k=this.minPixelPadding,e=(this.options.ordinal||this.isLog&&e)&&this.lin2val;if(!j)j=this.transA;c&&(h*=-1,i=g);this.reversed&&(h*=-1,i-=h*g);b?(a=a*h+i,a-=k,a=a/j+d,e&&(a=this.lin2val(a))):(e&&(a=this.val2lin(a)),a=h*(a-d)*j+i+h*k+(f?j*this.pointRange/2:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,d){var e=this.chart,f=this.left,g=this.top,h,i,j,a=this.translate(a,null,null,c),k=c&&e.oldChartHeight||e.chartHeight,m=c&&e.oldChartWidth||e.chartWidth,l;h=this.transB;c=i=t(a+h);h=j=t(k-a-h);if(isNaN(a))l=!0;else if(this.horiz){if(h=g,j=k-this.bottom,c<f||c>f+this.width)l=!0}else if(c=f,i=m-this.right,h<g||h>g+this.height)l=!0;return l&&!d?null:e.renderer.crispLine(["M",c,h,"L",i,j],b||0)},getPlotBandPath:function(a,b){var c=this.getPlotLinePath(b),d=this.getPlotLinePath(a);d&&c?d.push(c[4],c[5],c[1],c[2]):d=null;return d},getLinearTickPositions:function(a,b,c){for(var d,b=ia(T(b/a)*a),c=ia(ja(c/a)*a),e=[];b<=c;){e.push(b);b=ia(b+a);if(b===d)break;d=b}return e},getLogTickPositions:function(a,b,c,d){var e=this.options,f=this.len,g=[];if(!d)this._minorAutoInterval=null;if(a>=0.5)a=t(a),g=this.getLinearTickPositions(a,b,c);else if(a>=0.08)for(var f=T(b),h,i,j,k,m,e=a>0.3?[1,2,4]:a>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];f<c+1&&!m;f++){i=e.length;for(h=0;h<i&&!m;h++)j=ka(da(f)*e[h]),j>b&&(!d||k<=c)&&g.push(k),k>c&&(m=!0),k=j}else if(b=da(b),c=da(c),a=e[d?"minorTickInterval":"tickInterval"],a=o(a==="auto"?null:a,this._minorAutoInterval,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions.length:f)||1)),a=ib(a,null,I.pow(10,T(I.log(a)/I.LN10))),g=La(this.getLinearTickPositions(a,b,c),ka),!d)this._minorAutoInterval=a/5;if(!d)this.tickInterval=a;return g},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,d=[],e;if(this.isLog){e=b.length;for(a=1;a<e;a++)d=d.concat(this.getLogTickPositions(c,b[a-1],b[a],!0))}else if(this.isDatetimeAxis&&a.minorTickInterval==="auto")d=d.concat(Cb(Ab(c),this.min,this.max,a.startOfWeek)),d[0]<this.min&&d.shift();else for(b=this.min+(b[0]-this.min)%c;b<=this.max;b+=c)d.push(b);return d},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,d,e=this.dataMax-this.dataMin>=this.minRange,f,g,h,i,j;if(this.isXAxis&&this.minRange===y&&!this.isLog)r(a.min)||r(a.max)?this.minRange=null:(n(this.series,function(a){i=a.xData;for(g=j=a.xIncrement?1:i.length-1;g>0;g--)if(h=i[g]-i[g-1],f===y||h<f)f=h}),this.minRange=K(f*5,this.dataMax-this.dataMin));if(c-b<this.minRange){var k=this.minRange;d=(k-c+b)/2;d=[b-d,o(a.min,b-d)];if(e)d[2]=this.dataMin;b=pa(d);c=[b+k,o(a.max,b+k)];if(e)c[2]=this.dataMax;c=Ga(c);c-b<k&&(d[0]=c-k,d[1]=o(a.min,c-k),b=pa(d))}this.min=b;this.max=c},setAxisTranslation:function(a){var b=this.max-this.min,c=0,d,e=0,f=0,g=this.linkedParent,h=this.transA;if(this.isXAxis)g?(e=g.minPointOffset,f=g.pointRangePadding):n(this.series,function(a){var g=a.pointRange,h=a.options.pointPlacement,m=a.closestPointRange;g>b&&(g=0);c=q(c,g);e=q(e,h?0:g/2);f=q(f,h==="on"?0:g);!a.noSharedTooltip&&r(m)&&(d=r(d)?K(d,m):m)}),g=this.ordinalSlope&&d?this.ordinalSlope/d:1,this.minPointOffset=e*=g,this.pointRangePadding=f*=g,this.pointRange=K(c,b),this.closestPointRange=d;if(a)this.oldTransA=h;this.translationSlope=this.transA=h=this.len/(b+f||1);this.transB=this.horiz?this.left:this.bottom;this.minPixelPadding=h*e},setTickPositions:function(a){var b=this,c=b.chart,d=b.options,e=b.isLog,f=b.isDatetimeAxis,g=b.isXAxis,h=b.isLinked,i=b.options.tickPositioner,j=d.maxPadding,k=d.minPadding,m=d.tickInterval,l=d.minTickInterval,p=d.tickPixelInterval,s=b.categories;h?(b.linkedParent=c[g?"xAxis":"yAxis"][d.linkedTo],c=b.linkedParent.getExtremes(),b.min=o(c.min,c.dataMin),b.max=o(c.max,c.dataMax),d.type!==b.linkedParent.options.type&&qa(11,1)):(b.min=o(b.userMin,d.min,b.dataMin),b.max=o(b.userMax,d.max,b.dataMax));if(e)!a&&K(b.min,o(b.dataMin,b.min))<=0&&qa(10,1),b.min=ia(ka(b.min)),b.max=ia(ka(b.max));if(b.range&&(b.userMin=b.min=q(b.min,b.max-b.range),b.userMax=b.max,a))b.range=null;b.beforePadding&&b.beforePadding();b.adjustForMinRange();if(!s&&!b.usePercentage&&!h&&r(b.min)&&r(b.max)&&(c=b.max-b.min)){if(!r(d.min)&&!r(b.userMin)&&k&&(b.dataMin<0||!b.ignoreMinPadding))b.min-=c*k;if(!r(d.max)&&!r(b.userMax)&&j&&(b.dataMax>0||!b.ignoreMaxPadding))b.max+=c*j}b.tickInterval=b.min===b.max||b.min===void 0||b.max===void 0?1:h&&!m&&p===b.linkedParent.options.tickPixelInterval?b.linkedParent.tickInterval:o(m,s?1:(b.max-b.min)*p/(b.len||1));g&&!a&&n(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();if(b.postProcessTickInterval)b.tickInterval=b.postProcessTickInterval(b.tickInterval);if(!m&&b.tickInterval<l)b.tickInterval=l;if(!f&&!e&&(a=I.pow(10,T(I.log(b.tickInterval)/I.LN10)),!m))b.tickInterval=ib(b.tickInterval,null,a,d);b.minorTickInterval=d.minorTickInterval==="auto"&&b.tickInterval?b.tickInterval/5:d.minorTickInterval;b.tickPositions=i=d.tickPositions?[].concat(d.tickPositions):i&&i.apply(b,[b.min,b.max]);if(!i)i=f?(b.getNonLinearTimeTicks||Cb)(Ab(b.tickInterval,d.units),b.min,b.max,d.startOfWeek,b.ordinalPositions,b.closestPointRange,!0):e?b.getLogTickPositions(b.tickInterval,b.min,b.max):b.getLinearTickPositions(b.tickInterval,b.min,b.max),b.tickPositions=i;if(!h)e=i[0],f=i[i.length-1],h=b.minPointOffset||0,d.startOnTick?b.min=e:b.min-h>e&&i.shift(),d.endOnTick?b.max=f:b.max+h<f&&i.pop(),i.length===1&&(b.min-=0.001,b.max+=0.001)},setMaxTicks:function(){var a=this.chart,b=a.maxTicks||{},c=this.tickPositions,d=this._maxTicksKey=[this.xOrY,this.pos,this.len].join("-");if(!this.isLinked&&!this.isDatetimeAxis&&c&&c.length>(b[d]||0)&&this.options.alignTicks!==!1)b[d]=c.length;a.maxTicks=b},adjustTickAmount:function(){var a=this._maxTicksKey,b=this.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var d=this.tickAmount,e=b.length;this.tickAmount=a=c[a];if(e<a){for(;b.length<a;)b.push(ia(b[b.length-1]+this.tickInterval));this.transA*=(e-1)/(a-1);this.max=b[b.length-1]}if(r(d)&&a!==d)this.isDirty=!0}},setScale:function(){var a=this.stacks,b,c,d,e;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();e=this.len!==this.oldAxisLength;n(this.series,function(a){if(a.isDirtyData||a.isDirty||a.xAxis.isDirty)d=!0});if(e||d||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax)if(this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickPositions(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,!this.isDirty)this.isDirty=e||this.min!==this.oldMin||this.max!==this.oldMax;if(!this.isXAxis)for(b in a)for(c in a[b])a[b][c].cum=a[b][c].total;this.setMaxTicks()},setExtremes:function(a,b,c,d,e){var f=this,g=f.chart,c=o(c,!0),e=v(e,{min:a,max:b});D(f,"setExtremes",e,function(){f.userMin=a;f.userMax=b;f.isDirtyExtremes=!0;c&&g.redraw(d)})},zoom:function(a,b){this.allowZoomOutside||(a<=this.dataMin&&(a=y),b>=this.dataMax&&(b=y));this.displayBtn=a!==y||b!==y;this.setExtremes(a,b,!1,y,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=b.offsetRight||0,e=this.horiz,f,g;this.left=g=o(b.left,a.plotLeft+c);this.top=f=o(b.top,a.plotTop);this.width=c=o(b.width,a.plotWidth-c+d);this.height=b=o(b.height,a.plotHeight);this.bottom=a.chartHeight-b-f;this.right=a.chartWidth-c-g;this.len=q(e?c:b,0);this.pos=e?g:f},getExtremes:function(){var a=this.isLog;return{min:a?ia(da(this.min)):this.min,max:a?ia(da(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?da(this.min):this.min,b=b?da(this.max):this.max;c>a||a===null?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},addPlotBand:function(a){this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(a,b){var c=(new pb(this,a)).render(),d=this.userOptions;b&&(d[b]=d[b]||[],d[b].push(a));this.plotLinesAndBands.push(c);return c},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.tickPositions,f=a.ticks,g=a.horiz,h=a.side,i=b.inverted?[1,0,3,2][h]:h,j,k=0,m,l=0,p=d.title,s=d.labels,t=0,B=b.axisOffset,w=b.clipOffset,G=[-1,1,1,-1][h],v;a.hasData=b=a.hasVisibleSeries||r(a.min)&&r(a.max)&&!!e;a.showAxis=j=b||o(d.showEmpty,!0);if(!a.axisGroup)a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).add(),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).add(),a.labelGroup=c.g("axis-labels").attr({zIndex:s.zIndex||7}).add();if(b||a.isLinked)n(e,function(b){f[b]?f[b].addLabel():f[b]=new Ja(a,b)}),n(e,function(a){if(h===0||h===2||{1:"left",3:"right"}[h]===s.align)t=q(f[a].getLabelSize(),t)}),a.staggerLines&&(t+=(a.staggerLines-1)*16);else for(v in f)f[v].destroy(),delete f[v];if(p&&p.text&&p.enabled!==!1){if(!a.axisTitle)a.axisTitle=c.text(p.text,0,0,p.useHTML).attr({zIndex:7,rotation:p.rotation||0,align:p.textAlign||{low:"left",middle:"center",high:"right"}[p.align]}).css(p.style).add(a.axisGroup),a.axisTitle.isNew=!0;if(j)k=a.axisTitle.getBBox()[g?"height":"width"],l=o(p.margin,g?5:10),m=p.offset;a.axisTitle[j?"show":"hide"]()}a.offset=G*o(d.offset,B[h]);a.axisTitleMargin=o(m,t+l+(h!==2&&t&&G*d.labels[g?"y":"x"]));B[h]=q(B[h],a.axisTitleMargin+k+G*a.offset);w[i]=q(w[i],d.lineWidth)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d;this.lineTop=d=b.chartHeight-this.bottom-(c?this.height:0)+d;c||(a*=-1);return b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?b.chartWidth-this.right:f,e?d:b.chartHeight-this.bottom],a)},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,f=a?b:c,g=this.opposite,h=this.offset,i=u(e.style.fontSize||12),d={low:f+(a?0:d),middle:f+
d/2,high:f+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(this.side===2?i:0);return{x:a?d:b+(g?this.width:0)+h+(e.x||0),y:a?b-(g?this.height:0)+h:d+(e.y||0)}},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.isLog,f=a.isLinked,g=a.tickPositions,h=a.axisTitle,i=a.stacks,j=a.ticks,k=a.minorTicks,m=a.alternateBands,l=d.stackLabels,p=d.alternateGridColor,s=a.tickmarkOffset,o=d.lineWidth,B,w=b.hasRendered&&r(a.oldMin)&&!isNaN(a.oldMin);B=a.hasData;var q=a.showAxis,t,v;n([j,k,m],function(a){for(var b in a)a[b].isActive=!1});if(B||f)if(a.minorTickInterval&&!a.categories&&n(a.getMinorTickPositions(),function(b){k[b]||(k[b]=new Ja(a,b,"minor"));w&&k[b].isNew&&k[b].render(null,!0);k[b].render(null,!1,1)}),g.length&&(n(g.slice(1).concat([g[0]]),function(b,c){c=c===g.length-1?0:c+1;if(!f||b>=a.min&&b<=a.max)j[b]||(j[b]=new Ja(a,b)),w&&j[b].isNew&&j[b].render(c,!0),j[b].render(c,!1,1)}),s&&a.min===0&&(j[-1]||(j[-1]=new Ja(a,-1,null,!0)),j[-1].render(-1))),p&&n(g,function(b,c){if(c%2===0&&b<a.max)m[b]||(m[b]=new pb(a)),t=b+s,v=g[c+1]!==y?g[c+1]+s:a.max,m[b].options={from:e?da(t):t,to:e?da(v):v,color:p},m[b].render(),m[b].isActive=!0}),!a._addedPlotLB)n((d.plotLines||[]).concat(d.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0;n([j,k,m],function(a){var c,d,e=[],f=za?za.duration||500:0,g=function(){for(d=e.length;d--;)a[e[d]]&&!a[e[d]].isActive&&(a[e[d]].destroy(),delete a[e[d]])};for(c in a)if(!a[c].isActive)a[c].render(c,!1,0),a[c].isActive=!1,e.push(c);a===m||!b.hasRendered||!f?g():f&&setTimeout(g,f)});if(o)B=a.getLinePath(o),a.axisLine?a.axisLine.animate({d:B}):a.axisLine=c.path(B).attr({stroke:d.lineColor,"stroke-width":o,zIndex:7}).add(a.axisGroup),a.axisLine[q?"show":"hide"]();if(h&&q)h[h.isNew?"attr":"animate"](a.getTitlePosition()),h.isNew=!1;if(l&&l.enabled){var u,x,d=a.stackTotalGroup;if(!d)a.stackTotalGroup=d=c.g("stack-labels").attr({visibility:"visible",zIndex:6}).add();d.translate(b.plotLeft,b.plotTop);for(u in i)for(x in c=i[u],c)c[x].render(d)}a.isDirty=!1},removePlotBandOrLine:function(a){for(var b=this.plotLinesAndBands,c=b.length;c--;)b[c].id===a&&b[c].destroy()},setTitle:function(a,b){this.update({title:a},b)},redraw:function(){var a=this.chart.pointer;a.reset&&a.reset(!0);this.render();n(this.plotLinesAndBands,function(a){a.render()});n(this.series,function(a){a.isDirty=!0})},setCategories:function(a,b){this.update({categories:a},b)},destroy:function(){var a=this,b=a.stacks,c;ba(a);for(c in b)Ha(b[c]),b[c]=null;n([a.ticks,a.minorTicks,a.alternateBands,a.plotLinesAndBands],function(a){Ha(a)});n("stackTotalGroup,axisLine,axisGroup,gridGroup,labelGroup,axisTitle".split(","),function(b){a[b]&&(a[b]=a[b].destroy())})}};qb.prototype={init:function(a,b){var c=b.borderWidth,d=b.style,e=u(d.padding);this.chart=a;this.options=b;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=a.renderer.label("",0,0,b.shape,null,null,b.useHTML,null,"tooltip").attr({padding:e,fill:b.backgroundColor,"stroke-width":c,r:b.borderRadius,zIndex:8}).css(d).css({padding:0}).hide().add();$||this.label.shadow(b.shadow);this.shared=b.shared},destroy:function(){n(this.crosshairs,function(a){a&&a.destroy()});if(this.label)this.label=this.label.destroy();clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,b,c,d){var e=this,f=e.now,g=e.options.animation!==!1&&!e.isHidden;v(f,{x:g?(2*f.x+a)/3:a,y:g?(f.y+b)/2:b,anchorX:g?(2*f.anchorX+c)/3:c,anchorY:g?(f.anchorY+d)/2:d});e.label.attr(f);if(g&&(Q(a-
f.x)>1||Q(b-f.y)>1))clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(a,b,c,d)},32)},hide:function(){var a=this,b;clearTimeout(this.hideTimer);if(!this.isHidden)b=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){a.label.fadeOut();a.isHidden=!0},o(this.options.hideDelay,500)),b&&n(b,function(a){a.setState()}),this.chart.hoverPoints=null},hideCrosshairs:function(){n(this.crosshairs,function(a){a&&a.hide()})},getAnchor:function(a,b){var c,d=this.chart,e=d.inverted,f=d.plotTop,g=0,h=0,i,a=ha(a);c=a[0].tooltipPos;this.followPointer&&b&&(b.chartX===y&&(b=d.pointer.normalize(b)),c=[b.chartX-d.plotLeft,b.chartY-f]);c||(n(a,function(a){i=a.series.yAxis;g+=a.plotX;h+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&i?i.top-f:0)}),g/=a.length,h/=a.length,c=[e?d.plotWidth-h:g,this.shared&&!e&&a.length>1&&b?b.chartY-f:e?d.plotHeight-g:h]);return La(c,t)},getPosition:function(a,b,c){var d=this.chart,e=d.plotLeft,f=d.plotTop,g=d.plotWidth,h=d.plotHeight,i=o(this.options.distance,12),j=c.plotX,c=c.plotY,d=j+e+(d.inverted?i:-a-i),k=c-b+f+15,m;d<7&&(d=e+q(j,0)+i);d+a>e+g&&(d-=d+a-(e+g),k=c-b+f-i,m=!0);k<f+5&&(k=f+5,m&&c>=k&&c<=k+b&&(k=c+f+i));k+b>f+h&&(k=q(f,f+h-b-i));return{x:d,y:k}},defaultFormatter:function(a){var b=this.points||ha(this),c=b[0].series,d;d=[c.tooltipHeaderFormatter(b[0])];n(b,function(a){c=a.series;d.push(c.tooltipFormatter&&c.tooltipFormatter(a)||a.point.tooltipFormatter(c.tooltipOptions.pointFormat))});d.push(a.options.footerFormat||"");return d.join("")},refresh:function(a,b){var c=this.chart,d=this.label,e=this.options,f,g,h,i={},j,k=[];j=e.formatter||this.defaultFormatter;var i=c.hoverPoints,m,l=e.crosshairs;h=this.shared;clearTimeout(this.hideTimer);this.followPointer=ha(a)[0].series.tooltipOptions.followPointer;g=this.getAnchor(a,b);f=g[0];g=g[1];h&&(!a.series||!a.series.noSharedTooltip)?(c.hoverPoints=a,i&&n(i,function(a){a.setState()}),n(a,function(a){a.setState("hover");k.push(a.getLabelConfig())}),i={x:a[0].category,y:a[0].y},i.points=k,a=a[0]):i=a.getLabelConfig();j=j.call(i,this);i=a.series;h=h||!i.isCartesian||i.tooltipOutsidePlot||c.isInsidePlot(f,g);j===!1||!h?this.hide():(this.isHidden&&(Ta(d),d.attr("opacity",1).show()),d.attr({text:j}),m=e.borderColor||a.color||i.color||"#606060",d.attr({stroke:m}),this.updatePosition({plotX:f,plotY:g}),this.isHidden=!1);if(l){l=ha(l);for(d=l.length;d--;)if(e=a.series[d?"yAxis":"xAxis"],l[d]&&e)if(h=d?o(a.stackY,a.y):a.x,e.isLog&&(h=ka(h)),e=e.getPlotLinePath(h,1),this.crosshairs[d])this.crosshairs[d].attr({d:e,visibility:"visible"});else{h={"stroke-width":l[d].width||1,stroke:l[d].color||"#C0C0C0",zIndex:l[d].zIndex||2};if(l[d].dashStyle)h.dashstyle=l[d].dashStyle;this.crosshairs[d]=c.renderer.path(e).attr(h).add()}}D(c,"tooltipRefresh",{text:j,x:f+c.plotLeft,y:g+c.plotTop,borderColor:m})},updatePosition:function(a){var b=this.chart,c=this.label,c=(this.options.positioner||this.getPosition).call(this,c.width,c.height,a);this.move(t(c.x),t(c.y),a.plotX+b.plotLeft,a.plotY+b.plotTop)}};rb.prototype={init:function(a,b){var c=$?"":b.chart.zoomType,d=a.inverted,e;this.options=b;this.chart=a;this.zoomX=e=/x/.test(c);this.zoomY=c=/y/.test(c);this.zoomHor=e&&!d||c&&d;this.zoomVert=c&&!d||e&&d;this.pinchDown=[];this.lastValidTouch={};if(b.tooltip.enabled)a.tooltip=new qb(a,b.tooltip);this.setDOMEvents()},normalize:function(a){var b,c,d,a=a||O.event;if(!a.target)a.target=a.srcElement;a=Qb(a);d=a.touches?a.touches.item(0):a;this.chartPosition=b=Ub(this.chart.container);d.pageX===y?(c=a.x,b=a.y):(c=d.pageX-b.left,b=d.pageY-
b.top);return v(a,{chartX:t(c),chartY:t(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};n(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},getIndex:function(a){var b=this.chart;return b.inverted?b.plotHeight+b.plotTop-a.chartY:a.chartX-b.plotLeft},runPointActions:function(a){var b=this.chart,c=b.series,d=b.tooltip,e,f=b.hoverPoint,g=b.hoverSeries,h,i,j=b.chartWidth,k=this.getIndex(a);if(d&&this.options.tooltip.shared&&(!g||!g.noSharedTooltip)){e=[];h=c.length;for(i=0;i<h;i++)if(c[i].visible&&c[i].options.enableMouseTracking!==!1&&!c[i].noSharedTooltip&&c[i].tooltipPoints.length&&(b=c[i].tooltipPoints[k],b.series))b._dist=Q(k-b.clientX),j=K(j,b._dist),e.push(b);for(h=e.length;h--;)e[h]._dist>j&&e.splice(h,1);if(e.length&&e[0].clientX!==this.hoverX)d.refresh(e,a),this.hoverX=e[0].clientX}if(g&&g.tracker){if((b=g.tooltipPoints[k])&&b!==f)b.onMouseOver(a)}else d&&d.followPointer&&!d.isHidden&&(a=d.getAnchor([{}],a),d.updatePosition({plotX:a[0],plotY:a[1]}))},reset:function(a){var b=this.chart,c=b.hoverSeries,d=b.hoverPoint,e=b.tooltip,b=e&&e.shared?b.hoverPoints:d;(a=a&&e&&b)&&ha(b)[0].plotX===y&&(a=!1);if(a)e.refresh(b);else{if(d)d.onMouseOut();if(c)c.onMouseOut();e&&(e.hide(),e.hideCrosshairs());this.hoverX=null}},scaleGroups:function(a,b){var c=this.chart;n(c.series,function(d){d.xAxis&&d.xAxis.zoomEnabled&&(d.group.attr(a),d.markerGroup&&(d.markerGroup.attr(a),d.markerGroup.clip(b?c.clipRect:null)),d.dataLabelsGroup&&d.dataLabelsGroup.attr(a))});c.clipRect.attr(b||c.clipBox)},pinchTranslateDirection:function(a,b,c,d,e,f,g){var h=this.chart,i=a?"x":"y",j=a?"X":"Y",k="chart"+j,m=a?"width":"height",l=h["plot"+(a?"Left":"Top")],p,s,o=1,n=h.inverted,w=h.bounds[a?"h":"v"],q=b.length===1,t=b[0][k],r=c[0][k],v=!q&&b[1][k],u=!q&&c[1][k],x,c=function(){!q&&Q(t-v)>20&&(o=Q(r-u)/Q(t-v));s=(l-r)/o+t;p=h["plot"+(a?"Width":"Height")]/o};c();b=s;b<w.min?(b=w.min,x=!0):b+p>w.max&&(b=w.max-p,x=!0);x?(r-=0.8*(r-g[i][0]),q||(u-=0.8*(u-g[i][1])),c()):g[i]=[r,u];n||(f[i]=s-l,f[m]=p);f=n?1/o:o;e[m]=p;e[i]=b;d[n?a?"scaleY":"scaleX":"scale"+j]=o;d["translate"+j]=f*l+(r-f*t)},pinch:function(a){var b=this,c=b.chart,d=b.pinchDown,e=c.tooltip&&c.tooltip.options.followTouchMove,f=a.touches,g=f.length,h=b.lastValidTouch,i=b.zoomHor||b.pinchHor,j=b.zoomVert||b.pinchVert,k=i||j,m=b.selectionMarker,l={},p={};a.type==="touchstart"&&(e||k)&&a.preventDefault();La(f,function(a){return b.normalize(a)});if(a.type==="touchstart")n(f,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}),h.x=[d[0].chartX,d[1]&&d[1].chartX],h.y=[d[0].chartY,d[1]&&d[1].chartY],n(c.axes,function(a){if(a.zoomEnabled){var b=c.bounds[a.horiz?"h":"v"],d=a.minPixelPadding,e=a.toPixels(a.dataMin),f=a.toPixels(a.dataMax),g=K(e,f),e=q(e,f);b.min=K(a.pos,g-d);b.max=q(a.pos+a.len,e+d)}});else if(d.length){if(!m)b.selectionMarker=m=v({destroy:ta},c.plotBox);i&&b.pinchTranslateDirection(!0,d,f,l,m,p,h);j&&b.pinchTranslateDirection(!1,d,f,l,m,p,h);b.hasPinched=k;b.scaleGroups(l,p);!k&&e&&g===1&&this.runPointActions(b.normalize(a))}},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,d=a.chartX,a=a.chartY,e=this.zoomHor,f=this.zoomVert,g=b.plotLeft,h=b.plotTop,i=b.plotWidth,j=b.plotHeight,k,m=this.mouseDownX,l=this.mouseDownY;d<g?d=g:d>g+i&&(d=g+i);a<h?a=h:a>h+j&&(a=h+j);this.hasDragged=Math.sqrt(Math.pow(m-d,2)+Math.pow(l-a,2));if(this.hasDragged>10){k=b.isInsidePlot(m-g,l-h);if(b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&k&&!this.selectionMarker)this.selectionMarker=b.renderer.rect(g,h,e?1:i,f?1:j,0).attr({fill:c.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();this.selectionMarker&&e&&(e=d-m,this.selectionMarker.attr({width:Q(e),x:(e>0?0:e)+m}));this.selectionMarker&&f&&(e=a-l,this.selectionMarker.attr({height:Q(e),y:(e>0?0:e)+l}));k&&!this.selectionMarker&&c.panning&&b.pan(d)}},drop:function(a){var b=this.chart,c=this.hasPinched;if(this.selectionMarker){var d={xAxis:[],yAxis:[],originalEvent:a.originalEvent||a},e=this.selectionMarker,f=e.x,g=e.y,h;if(this.hasDragged||c)n(b.axes,function(a){if(a.zoomEnabled){var b=a.horiz,c=a.toValue(b?f:g),b=a.toValue(b?f+e.width:g+e.height);!isNaN(c)&&!isNaN(b)&&(d[a.xOrY+"Axis"].push({axis:a,min:K(c,b),max:q(c,b)}),h=!0)}}),h&&D(b,"selection",d,function(a){b.zoom(v(a,c?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();c&&this.scaleGroups({translateX:b.plotLeft,translateY:b.plotTop,scaleX:1,scaleY:1})}if(b)L(b.container,{cursor:b._cursor}),b.cancelClick=this.hasDragged>10,b.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function(a){a=this.normalize(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(a){this.drop(a)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition,d=b.hoverSeries,a=Qb(a);c&&d&&d.isCartesian&&!b.isInsidePlot(a.pageX-c.left-b.plotLeft,a.pageY-c.top-
b.plotTop)&&this.reset()},onContainerMouseLeave:function(){this.reset();this.chartPosition=null},onContainerMouseMove:function(a){var b=this.chart,a=this.normalize(a);a.returnValue=!1;b.mouseIsDown==="mousedown"&&this.drag(a);b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&!b.openMenu&&this.runPointActions(a)},inClass:function(a,b){for(var c;a;){if(c=A(a,"class"))if(c.indexOf(b)!==-1)return!0;else if(c.indexOf("highcharts-container")!==-1)return!1;a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;if(b&&!b.options.stickyTracking&&!this.inClass(a.toElement||a.relatedTarget,"highcharts-tooltip"))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,e=b.plotTop,f=b.inverted,g,h,i,a=this.normalize(a);a.cancelBubble=!0;if(!b.cancelClick)c&&this.inClass(a.target,"highcharts-tracker")?(g=this.chartPosition,h=c.plotX,i=c.plotY,v(c,{pageX:g.left+d+(f?b.plotWidth-i:h),pageY:g.top+e+(f?b.plotHeight-h:i)}),D(c.series,"click",v(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(v(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-e)&&D(b,"click",a))},onContainerTouchStart:function(a){var b=this.chart;a.touches.length===1?(a=this.normalize(a),b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&(this.runPointActions(a),this.pinch(a))):a.touches.length===2&&this.pinch(a)},onContainerTouchMove:function(a){(a.touches.length===1||a.touches.length===2)&&this.pinch(a)},onDocumentTouchEnd:function(a){this.drop(a)},setDOMEvents:function(){var a=this,b=a.chart.container,c;this._events=c=[[b,"onmousedown","onContainerMouseDown"],[b,"onmousemove","onContainerMouseMove"],[b,"onclick","onContainerClick"],[b,"mouseleave","onContainerMouseLeave"],[z,"mousemove","onDocumentMouseMove"],[z,"mouseup","onDocumentMouseUp"]];fb&&c.push([b,"ontouchstart","onContainerTouchStart"],[b,"ontouchmove","onContainerTouchMove"],[z,"touchend","onDocumentTouchEnd"]);n(c,function(b){a["_"+b[2]]=function(c){a[b[2]](c)};b[1].indexOf("on")===0?b[0][b[1]]=a["_"+b[2]]:J(b[0],b[1],a["_"+b[2]])})},destroy:function(){var a=this;n(a._events,function(b){b[1].indexOf("on")===0?b[0][b[1]]=null:ba(b[0],b[1],a["_"+b[2]])});delete a._events;clearInterval(a.tooltipTimeout)}};sb.prototype={init:function(a,b){var c=this,d=b.itemStyle,e=o(b.padding,8),f=b.itemMarginTop||0;this.options=b;if(b.enabled)c.baseline=u(d.fontSize)+3+f,c.itemStyle=d,c.itemHiddenStyle=x(d,b.itemHiddenStyle),c.itemMarginTop=f,c.padding=e,c.initialItemX=e,c.initialItemY=e-5,c.maxItemWidth=0,c.chart=a,c.itemHeight=0,c.lastLineHeight=0,c.render(),J(c.chart,"endResize",function(){c.positionCheckboxes()})},colorizeItem:function(a,b){var c=this.options,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,h=b?a.color:g,g=a.options&&a.options.marker,i={stroke:h,fill:h},j;d&&d.css({fill:c,color:c});e&&e.attr({stroke:h});if(f){if(g)for(j in g=a.convertAttribs(g),g)d=g[j],d!==y&&(i[j]=d);f.attr(i)}},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;a.legendGroup&&a.legendGroup.translate(b?e:this.legendWidth-e-2*c-4,d);if(f)f.x=e,f.y=d},destroyItem:function(a){var b=a.checkbox;n(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&a[b].destroy()});b&&Ra(a.checkbox)},destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},positionCheckboxes:function(a){var b=this.group.alignAttr,c,d=this.clipHeight||this.legendHeight;if(b)c=b.translateY,n(this.allItems,function(e){var f=e.checkbox,g;f&&(g=c+f.y+(a||0)+3,L(f,{left:b.translateX+e.legendItemWidth+f.x-20+"px",top:g+"px",display:g>c-6&&g<c+d-6?"":S}))})},renderTitle:function(){var a=this.padding,b=this.options.title,c=0;if(b.text){if(!this.title)this.title=this.chart.renderer.label(b.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(b.style).add(this.group);c=this.title.getBBox().height;this.contentGroup.attr({translateY:c})}this.titleHeight=c},renderItem:function(a){var w;var b=this,c=b.chart,d=c.renderer,e=b.options,f=e.layout==="horizontal",g=e.symbolWidth,h=e.symbolPadding,i=b.itemStyle,j=b.itemHiddenStyle,k=b.padding,m=!e.rtl,l=e.width,p=e.itemMarginBottom||0,s=b.itemMarginTop,o=b.initialItemX,n=a.legendItem,t=a.series||a,r=t.options,v=r.showCheckbox,u=e.useHTML;if(!n&&(a.legendGroup=d.g("legend-item").attr({zIndex:1}).add(b.scrollGroup),t.drawLegendSymbol(b,a),a.legendItem=n=d.text(e.labelFormat?wa(e.labelFormat,a):e.labelFormatter.call(a),m?g+h:-h,b.baseline,u).css(x(a.visible?i:j)).attr({align:m?"left":"right",zIndex:2}).add(a.legendGroup),(u?n:a.legendGroup).on("mouseover",function(){a.setState("hover");n.css(b.options.itemHoverStyle)}).on("mouseout",function(){n.css(a.visible?i:j);a.setState()}).on("click",function(b){var c=function(){a.setVisible()},b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):D(a,"legendItemClick",b,c)}),b.colorizeItem(a,a.visible),r&&v))a.checkbox=U("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},e.itemCheckboxStyle,c.container),J(a.checkbox,"click",function(b){D(a,"checkboxClick",{checked:b.target.checked},function(){a.select()})});d=n.getBBox();w=a.legendItemWidth=e.itemWidth||g+h+d.width+k+(v?20:0),e=w;b.itemHeight=g=d.height;if(f&&b.itemX-o+e>(l||c.chartWidth-2*k-o))b.itemX=o,b.itemY+=s+b.lastLineHeight+p,b.lastLineHeight=0;b.maxItemWidth=q(b.maxItemWidth,e);b.lastItemY=s+b.itemY+p;b.lastLineHeight=q(g,b.lastLineHeight);a._legendItemPos=[b.itemX,b.itemY];f?b.itemX+=e:(b.itemY+=s+g+p,b.lastLineHeight=g);b.offsetWidth=l||q(f?b.itemX-o:e,b.offsetWidth)},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.group,e,f,g,h,i=a.box,j=a.options,k=a.padding,m=j.borderWidth,l=j.backgroundColor;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;if(!d)a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),a.scrollGroup=c.g().add(a.contentGroup);a.renderTitle();e=[];n(b.series,function(a){var b=a.options;b.showInLegend&&!r(b.linkedTo)&&(e=e.concat(a.legendItems||(b.legendType==="point"?a.data:a)))});Ib(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});j.reversed&&e.reverse();a.allItems=e;a.display=f=!!e.length;n(e,function(b){a.renderItem(b)});g=j.width||a.offsetWidth;h=a.lastItemY+a.lastLineHeight+a.titleHeight;h=a.handleOverflow(h);if(m||l){g+=k;h+=k;if(i){if(g>0&&h>0)i[i.isNew?"attr":"animate"](i.crisp(null,null,null,g,h)),i.isNew=!1}else a.box=i=c.rect(0,0,g,h,j.borderRadius,m||0).attr({stroke:j.borderColor,"stroke-width":m||0,fill:l||S}).add(d).shadow(j.shadow),i.isNew=!0;i[f?"show":"hide"]()}a.legendWidth=g;a.legendHeight=h;n(e,function(b){a.positionItem(b)});f&&d.align(v({width:g,height:h},j),!0,"spacingBox");b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,f=e.y,f=c.spacingBox.height+(e.verticalAlign==="top"?-f:f)-this.padding,g=e.maxHeight,h=this.clipRect,i=e.navigation,j=o(i.animation,!0),k=i.arrowSize||12,m=this.nav;e.layout==="horizontal"&&(f/=2);g&&(f=K(f,g));if(a>f&&!e.useHTML){this.clipHeight=c=f-20-this.titleHeight;this.pageCount=ja(a/c);this.currentPage=o(this.currentPage,1);this.fullHeight=a;if(!h)h=b.clipRect=d.clipRect(0,0,9999,0),b.contentGroup.clip(h);h.attr({height:c});if(!m)this.nav=m=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,k,k).on("click",function(){b.scroll(-1,j)}).add(m),this.pager=d.text("",15,10).css(i.style).add(m),this.down=d.symbol("triangle-down",0,0,k,k).on("click",function(){b.scroll(1,j)}).add(m);b.scroll(0);a=f}else if(m)h.attr({height:c.chartHeight}),m.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return a},scroll:function(a,b){var c=this.pageCount,d=this.currentPage+a,e=this.clipHeight,f=this.options.navigation,g=f.activeColor,h=f.inactiveColor,f=this.pager,i=this.padding;d>c&&(d=c);if(d>0)b!==y&&Ia(b,this.chart),this.nav.attr({translateX:i,translateY:e+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:d===1?h:g}).css({cursor:d===1?"default":"pointer"}),f.attr({text:d+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:d===c?h:g}).css({cursor:d===c?"default":"pointer"}),e=-K(e*(d-1),this.fullHeight-e+i)+1,this.scrollGroup.animate({translateY:e}),f.attr({text:d+"/"+c}),this.currentPage=d,this.positionCheckboxes(e)}};tb.prototype={init:function(a,b){var c,d=a.series;a.series=null;c=x(N,a);c.series=a.series=d;var d=c.chart,e=d.margin,e=V(e)?e:[e,e,e,e];this.optionsMarginTop=o(d.marginTop,e[0]);this.optionsMarginRight=o(d.marginRight,e[1]);this.optionsMarginBottom=o(d.marginBottom,e[2]);this.optionsMarginLeft=o(d.marginLeft,e[3]);this.runChartClick=(e=d.events)&&!!e.click;this.bounds={h:{},v:{}};this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=d.showAxes;var f=this,g;f.index=Ba.length;Ba.push(f);d.reflow!==!1&&J(f,"load",function(){f.initReflow()});if(e)for(g in e)J(f,g,e[g]);f.xAxis=[];f.yAxis=[];f.animation=$?!1:o(d.animation,!0);f.pointCount=0;f.counters=new Hb;f.firstRender()},initSeries:function(a){var b=this.options.chart;(b=aa[a.type||b.type||b.defaultSeriesType])||qa(17,!0);b=new b;b.init(this,a);return b},addSeries:function(a,b,c){var d,e=this;a&&(b=o(b,!0),D(e,"addSeries",{options:a},function(){d=e.initSeries(a);e.isDirtyLegend=!0;b&&e.redraw(c)}));return d},addAxis:function(a,b,c,d){var b=b?"xAxis":"yAxis",e=this.options;new ab(this,x(a,{index:this[b].length}));e[b]=ha(e[b]||{});e[b].push(a);o(c,!0)&&this.redraw(d)},isInsidePlot:function(a,b,c){var d=c?b:a,a=c?a:b;return d>=0&&d<=this.plotWidth&&a>=0&&a<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&n(this.axes,function(a){a.adjustTickAmount()});this.maxTicks=null},redraw:function(a){var b=this.axes,c=this.series,d=this.pointer,e=this.legend,f=this.isDirtyLegend,g,h=this.isDirtyBox,i=c.length,j=i,k=this.renderer,m=k.isHidden(),l=[];Ia(a,this);for(m&&this.cloneRenderTo();j--;)if(a=c[j],a.isDirty&&a.options.stacking){g=!0;break}if(g)for(j=i;j--;)if(a=c[j],a.options.stacking)a.isDirty=!0;n(c,function(a){a.isDirty&&a.options.legendType==="point"&&(f=!0)});if(f&&e.options.enabled)e.render(),this.isDirtyLegend=!1;if(this.hasCartesianSeries){if(!this.isResizing)this.maxTicks=null,n(b,function(a){a.setScale()});this.adjustTickAmounts();this.getMargins();n(b,function(a){if(a.isDirtyExtremes)a.isDirtyExtremes=!1,l.push(function(){D(a,"afterSetExtremes",a.getExtremes())});if(a.isDirty||h||g)a.redraw(),h=!0})}h&&this.drawChartBox();n(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});d&&d.reset&&d.reset(!0);k.draw();D(this,"redraw");m&&this.cloneRenderTo(!0);n(l,function(a){a.call()})},showLoading:function(a){var b=this.options,c=this.loadingDiv,d=b.loading;if(!c)this.loadingDiv=c=U(ya,{className:"highcharts-loading"},v(d.style,{zIndex:10,display:S}),this.container),this.loadingSpan=U("span",null,d.labelStyle,c);this.loadingSpan.innerHTML=a||b.lang.loading;if(!this.loadingShown)L(c,{opacity:0,display:"",left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),wb(c,{opacity:d.style.opacity},{duration:d.showDuration||0}),this.loadingShown=!0},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&wb(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){L(b,{display:S})}});this.loadingShown=!1},get:function(a){var b=this.axes,c=this.series,d,e;for(d=0;d<b.length;d++)if(b[d].options.id===a)return b[d];for(d=0;d<c.length;d++)if(c[d].options.id===a)return c[d];for(d=0;d<c.length;d++){e=c[d].points||[];for(b=0;b<e.length;b++)if(e[b].id===a)return e[b]}return null},getAxes:function(){var a=this,b=this.options,c=b.xAxis=ha(b.xAxis||{}),b=b.yAxis=ha(b.yAxis||{});n(c,function(a,b){a.index=b;a.isX=!0});n(b,function(a,b){a.index=b});c=c.concat(b);n(c,function(b){new ab(a,b)});a.adjustTickAmounts()},getSelectedPoints:function(){var a=[];n(this.series,function(b){a=a.concat(ob(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return ob(this.series,function(a){return a.selected})},showResetZoom:function(){var a=this,b=N.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,f=c.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).add().align(c.position,!1,f)},zoomOut:function(){var a=this;D(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,c=this.pointer,d=!1,e;!a||a.resetSelection?n(this.axes,function(a){b=a.zoom()}):n(a.xAxis.concat(a.yAxis),function(a){var e=a.axis,h=e.isXAxis;if(c[h?"zoomX":"zoomY"]||c[h?"pinchX":"pinchY"])b=e.zoom(a.min,a.max),e.displayBtn&&(d=!0)});e=this.resetZoomButton;if(d&&!e)this.showResetZoom();else if(!d&&V(e))this.resetZoomButton=e.destroy();b&&this.redraw(o(this.options.chart.animation,a&&a.animation,this.pointCount<100))},pan:function(a){var b=this.xAxis[0],c=this.mouseDownX,d=b.pointRange/2,e=b.getExtremes(),f=b.translate(c-a,!0)+d,c=b.translate(c+this.plotWidth-a,!0)-
d;(d=this.hoverPoints)&&n(d,function(a){a.setState()});b.series.length&&f>K(e.dataMin,e.min)&&c<q(e.dataMax,e.max)&&b.setExtremes(f,c,!0,!1,{trigger:"pan"});this.mouseDownX=a;L(this.container,{cursor:"move"})},setTitle:function(a,b){var f;var c=this,d=c.options,e;e=d.title=x(d.title,a);f=d.subtitle=x(d.subtitle,b),d=f;n([["title",a,e],["subtitle",b,d]],function(a){var b=a[0],d=c[b],e=a[1],a=a[2];d&&e&&(c[b]=d=d.destroy());a&&a.text&&!d&&(c[b]=c.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).css(a.style).add().align(a,!1,"spacingBox"))})},getChartSize:function(){var a=this.options.chart,b=this.renderToClone||this.renderTo;this.containerWidth=gb(b,"width");this.containerHeight=gb(b,"height");this.chartWidth=q(0,a.width||this.containerWidth||600);this.chartHeight=q(0,o(a.height,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;a?b&&(this.renderTo.appendChild(c),Ra(b),delete this.renderToClone):(c&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),L(b,{position:"absolute",top:"-9999px",display:"block"}),z.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var a,b=this.options.chart,c,d,e;this.renderTo=a=b.renderTo;e="highcharts-"+ub++;if(fa(a))this.renderTo=a=z.getElementById(a);a||qa(13,!0);c=u(A(a,"data-highcharts-chart"));!isNaN(c)&&Ba[c]&&Ba[c].destroy();A(a,"data-highcharts-chart",this.index);a.innerHTML="";a.offsetWidth||this.cloneRenderTo();this.getChartSize();c=this.chartWidth;d=this.chartHeight;this.container=a=U(ya,{className:"highcharts-container"+(b.className?" "+b.className:""),id:e},v({position:"relative",overflow:"hidden",width:c+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},b.style),this.renderToClone||a);this._cursor=a.style.cursor;this.renderer=b.forExport?new Ca(a,c,d,!0):new Sa(a,c,d);$&&this.renderer.create(this,a,c,d)},getMargins:function(){var a=this.options.chart,b=a.spacingTop,c=a.spacingRight,d=a.spacingBottom,a=a.spacingLeft,e,f=this.legend,g=this.optionsMarginTop,h=this.optionsMarginLeft,i=this.optionsMarginRight,j=this.optionsMarginBottom,k=this.options.title,m=this.options.subtitle,l=this.options.legend,p=o(l.margin,10),s=l.x,t=l.y,B=l.align,w=l.verticalAlign;this.resetMargins();e=this.axisOffset;if((this.title||this.subtitle)&&!r(this.optionsMarginTop))if(m=q(this.title&&!k.floating&&!k.verticalAlign&&k.y||0,this.subtitle&&!m.floating&&!m.verticalAlign&&m.y||0))this.plotTop=q(this.plotTop,m+o(k.margin,15)+b);if(f.display&&!l.floating)if(B==="right"){if(!r(i))this.marginRight=q(this.marginRight,f.legendWidth-s+p+c)}else if(B==="left"){if(!r(h))this.plotLeft=q(this.plotLeft,f.legendWidth+s+p+a)}else if(w==="top"){if(!r(g))this.plotTop=q(this.plotTop,f.legendHeight+t+p+b)}else if(w==="bottom"&&!r(j))this.marginBottom=q(this.marginBottom,f.legendHeight-t+p+d);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&n(this.axes,function(a){a.getOffset()});r(h)||(this.plotLeft+=e[3]);r(g)||(this.plotTop+=e[0]);r(j)||(this.marginBottom+=e[2]);r(i)||(this.marginRight+=e[1]);this.setChartSize()},initReflow:function(){function a(a){var g=c.width||gb(d,"width"),h=c.height||gb(d,"height"),a=a?a.target:O;if(!b.hasUserSize&&g&&h&&(a===O||a===z)){if(g!==b.containerWidth||h!==b.containerHeight)clearTimeout(e),b.reflowTimeout=e=setTimeout(function(){if(b.container)b.setSize(g,h,!1),b.hasUserSize=null},100);b.containerWidth=g;b.containerHeight=h}}var b=this,c=b.options.chart,d=b.renderTo,e;J(O,"resize",a);J(b,"destroy",function(){ba(O,"resize",a)})},setSize:function(a,b,c){var d=this,e,f,g;d.isResizing+=1;g=function(){d&&D(d,"endResize",null,function(){d.isResizing-=1})};Ia(c,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;if(r(a))d.chartWidth=e=q(0,t(a)),d.hasUserSize=!!e;if(r(b))d.chartHeight=f=q(0,t(b));L(d.container,{width:e+"px",height:f+"px"});d.setChartSize(!0);d.renderer.setSize(e,f,c);d.maxTicks=null;n(d.axes,function(a){a.isDirty=!0;a.setScale()});n(d.series,function(a){a.isDirty=!0});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.getMargins();d.redraw(c);d.oldChartHeight=null;D(d,"resize");za===!1?g():setTimeout(g,za&&za.duration||500)},setChartSize:function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.options.chart,g=f.spacingTop,h=f.spacingRight,i=f.spacingBottom,j=f.spacingLeft,k=this.clipOffset,m,l,p,o;this.plotLeft=m=t(this.plotLeft);this.plotTop=l=t(this.plotTop);this.plotWidth=p=q(0,t(d-m-this.marginRight));this.plotHeight=o=q(0,t(e-l-this.marginBottom));this.plotSizeX=b?o:p;this.plotSizeY=b?p:o;this.plotBorderWidth=b=f.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:j,y:g,width:d-j-h,height:e-g-i};this.plotBox=c.plotBox={x:m,y:l,width:p,height:o};c=ja(q(b,k[3])/2);d=ja(q(b,k[0])/2);this.clipBox={x:c,y:d,width:T(this.plotSizeX-q(b,k[1])/2-c),height:T(this.plotSizeY-q(b,k[2])/2-d)};a||n(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this.options.chart,b=a.spacingRight,c=a.spacingBottom,d=a.spacingLeft;this.plotTop=o(this.optionsMarginTop,a.spacingTop);this.marginRight=o(this.optionsMarginRight,b);this.marginBottom=o(this.optionsMarginBottom,c);this.plotLeft=o(this.optionsMarginLeft,d);this.axisOffset=[0,0,0,0];this.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground,g=this.plotBorder,h=this.plotBGImage,i=a.borderWidth||0,j=a.backgroundColor,k=a.plotBackgroundColor,m=a.plotBackgroundImage,l=a.plotBorderWidth||0,p,o=this.plotLeft,n=this.plotTop,t=this.plotWidth,q=this.plotHeight,r=this.plotBox,v=this.clipRect,u=this.clipBox;p=i+(a.shadow?8:0);if(i||j)if(e)e.animate(e.crisp(null,null,null,c-p,d-p));else{e={fill:j||S};if(i)e.stroke=a.borderColor,e["stroke-width"]=i;this.chartBackground=b.rect(p/2,p/2,c-p,d-p,a.borderRadius,i).attr(e).add().shadow(a.shadow)}if(k)f?f.animate(r):this.plotBackground=b.rect(o,n,t,q,0).attr({fill:k}).add().shadow(a.plotShadow);if(m)h?h.animate(r):this.plotBGImage=b.image(m,o,n,t,q).add();v?v.animate({width:u.width,height:u.height}):this.clipRect=b.clipRect(u);if(l)g?g.animate(g.crisp(null,o,n,t,q)):this.plotBorder=b.rect(o,n,t,q,0,l).attr({stroke:a.plotBorderColor,"stroke-width":l,zIndex:1}).add();this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,f;n(["inverted","angular","polar"],function(g){c=aa[b.type||b.defaultSeriesType];f=a[g]||b[g]||c&&c.prototype[g];for(e=d&&d.length;!f&&e--;)(c=aa[d[e].type])&&c.prototype[g]&&(f=!0);a[g]=f})},render:function(){var a=this,b=a.axes,c=a.renderer,d=a.options,e=d.labels,f=d.credits,g;a.setTitle();a.legend=new sb(a,d.legend);n(b,function(a){a.setScale()});a.getMargins();a.maxTicks=null;n(b,function(a){a.setTickPositions(!0);a.setMaxTicks()});a.adjustTickAmounts();a.getMargins();a.drawChartBox();a.hasCartesianSeries&&n(b,function(a){a.render()});if(!a.seriesGroup)a.seriesGroup=c.g("series-group").attr({zIndex:3}).add();n(a.series,function(a){a.translate();a.setTooltipPoints();a.render()});e.items&&n(e.items,function(b){var d=v(e.style,b.style),f=u(d.left)+a.plotLeft,g=u(d.top)+a.plotTop+12;delete d.left;delete d.top;c.text(b.html,f,g).attr({zIndex:2}).css(d).add()});if(f.enabled&&!a.credits)g=f.href,a.credits=c.text(f.text,0,0).on("click",function(){if(g)location.href=g}).attr({align:f.position.align,zIndex:8}).css(f.style).add().align(f.position);a.hasRendered=!0},destroy:function(){var a=this,b=a.axes,c=a.series,d=a.container,e,f=d&&d.parentNode;D(a,"destroy");Ba[a.index]=y;a.renderTo.removeAttribute("data-highcharts-chart");ba(a);for(e=b.length;e--;)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=c[e].destroy();n("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(b){var c=a[b];c&&c.destroy&&(a[b]=c.destroy())});if(d)d.innerHTML="",ba(d),f&&Ra(d);for(e in a)delete a[e]},isReadyToRender:function(){var a=this;return!Z&&O==O.top&&z.readyState!=="complete"||$&&!O.canvg?($?Rb.push(function(){a.firstRender()},a.options.global.canvasToolsURL):z.attachEvent("onreadystatechange",function(){z.detachEvent("onreadystatechange",a.firstRender);z.readyState==="complete"&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,b=a.options,c=a.callback;if(a.isReadyToRender())a.getContainer(),D(a,"init"),a.resetMargins(),a.setChartSize(),a.propFromSeries(),a.getAxes(),n(b.series||[],function(b){a.initSeries(b)}),D(a,"beforeRender"),a.pointer=new rb(a,b),a.render(),a.renderer.draw(),c&&c.apply(a,[a]),n(a.callbacks,function(b){b.apply(a,[a])}),a.cloneRenderTo(!0),D(a,"load")}};tb.prototype.callbacks=[];var Na=function(){};Na.prototype={init:function(a,b,c){this.series=a;this.applyOptions(b,c);this.pointAttr={};if(a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter++],a.colorCounter===b.length))a.colorCounter=0;a.chart.pointCount++;return this},applyOptions:function(a,b){var c=this.series,d=c.pointValKey,a=Na.prototype.optionsToObject.call(this,a);v(this,a);this.options=this.options?v(this.options,a):a;if(d)this.y=this[d];if(this.x===y&&c)this.x=b===y?c.autoIncrement():b;return this},optionsToObject:function(a){var b,c=this.series,d=c.pointArrayMap||["y"],e=d.length,f=0,g=0;if(typeof a==="number"||a===null)b={y:a};else if(Da(a)){b={};if(a.length>e){c=typeof a[0];if(c==="string")b.name=a[0];else if(c==="number")b.x=a[0];f++}for(;g<e;)b[d[g++]]=a[f++]}else if(typeof a==="object"){b=a;if(a.dataLabels)c._hasPointLabels=!0;if(a.marker)c._hasPointMarkers=!0}return b},destroy:function(){var a=this.series.chart,b=a.hoverPoints,c;a.pointCount--;if(b&&(this.setState(),ga(b,this),!b.length))a.hoverPoints=null;if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)ba(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var a="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),b,c=6;c--;)b=a[c],this[b]&&(this[b]=this[b].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(a,b){var c=this,d=c.series,e=d.chart,a=o(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[la(c,d.data)]=c.options;c.setState(a&&"select");b||n(e.getSelectedPoints(),function(a){if(a.selected&&a!==c)a.selected=a.options.selected=!1,d.options.data[la(a,d.data)]=a.options,a.setState(""),a.firePointEvent("unselect")})})},onMouseOver:function(a){var b=this.series,c=b.chart,d=c.tooltip,e=c.hoverPoint;if(e&&e!==this)e.onMouseOut();this.firePointEvent("mouseOver");d&&(!d.shared||b.noSharedTooltip)&&d.refresh(this,a);this.setState("hover");c.hoverPoint=this},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;if(!b||la(this,b)===-1)this.firePointEvent("mouseOut"),this.setState(),a.hoverPoint=null},tooltipFormatter:function(a){var b=this.series,c=b.tooltipOptions,d=o(c.valueDecimals,""),e=c.valuePrefix||"",f=c.valueSuffix||"";n(b.pointArrayMap||["y"],function(b){b="{point."+b;if(e||f)a=a.replace(b+"}",e+b+"}"+f);a=a.replace(b+"}",b+":,."+d+"f}")});return wa(a,{point:this,series:this.series})},update:function(a,b,c){var d=this,e=d.series,f=d.graphic,g,h=e.data,i=e.chart,b=o(b,!0);d.firePointEvent("update",{options:a},function(){d.applyOptions(a);V(a)&&(e.getAttribs(),f&&f.attr(d.pointAttr[e.state]));g=la(d,h);e.xData[g]=d.x;e.yData[g]=e.toYData?e.toYData(d):d.y;e.zData[g]=d.z;e.options.data[g]=d.options;e.isDirty=!0;e.isDirtyData=!0;b&&i.redraw(c)})},remove:function(a,b){var c=this,d=c.series,e=d.chart,f,g=d.data;Ia(b,e);a=o(a,!0);c.firePointEvent("remove",null,function(){f=la(c,g);g.splice(f,1);d.options.data.splice(f,1);d.xData.splice(f,1);d.yData.splice(f,1);d.zData.splice(f,1);c.destroy();d.isDirty=!0;d.isDirtyData=!0;a&&e.redraw()})},firePointEvent:function(a,b,c){var d=this,e=this.series.options;(e.point.events[a]||d.options&&d.options.events&&d.options.events[a])&&this.importEvents();a==="click"&&e.allowPointSelect&&(c=function(a){d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});D(this,a,b,c)},importEvents:function(){if(!this.hasImportedEvents){var a=x(this.series.options.point,this.options).events,b;this.events=a;for(b in a)J(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a){var b=this.plotX,c=this.plotY,d=this.series,e=d.options.states,f=X[d.type].marker&&d.options.marker,g=f&&!f.enabled,h=f&&f.states[a],i=h&&h.enabled===!1,j=d.stateMarkerGraphic,k=this.marker||{},m=d.chart,l=this.pointAttr,a=a||"";if(!(a===this.state||this.selected&&a!=="select"||e[a]&&e[a].enabled===!1||a&&(i||g&&!h.enabled))){if(this.graphic)e=f&&this.graphic.symbolName&&l[a].r,this.graphic.attr(x(l[a],e?{x:b-e,y:c-e,width:2*e,height:2*e}:{}));else{if(a&&h)e=h.radius,k=k.symbol||d.symbol,j&&j.currentSymbol!==k&&(j=j.destroy()),j?j.attr({x:b-e,y:c-e}):(d.stateMarkerGraphic=j=m.renderer.symbol(k,b-e,c-e,2*e,2*e).attr(l[a]).add(d.markerGroup),j.currentSymbol=k);if(j)j[a&&m.isInsidePlot(b,c)?"show":"hide"]()}this.state=a}}};var R=function(){};R.prototype={isCartesian:!0,type:"line",pointClass:Na,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},colorCounter:0,init:function(a,b){var c,d,e=a.series;this.chart=a;this.options=b=this.setOptions(b);this.bindAxes();v(this,{name:b.name,state:"",pointAttr:{},visible:b.visible!==!1,selected:b.selected===!0});if($)b.animation=!1;d=b.events;for(c in d)J(this,c,d[c]);if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;this.getColor();this.getSymbol();this.setData(b.data,!1);if(this.isCartesian)a.hasCartesianSeries=!0;e.push(this);this._i=e.length-1;Ib(e,function(a,b){return o(a.options.index,a._i)-o(b.options.index,a._i)});n(e,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)});c=b.linkedTo;this.linkedSeries=[];if(fa(c)&&(c=c===":previous"?e[this.index-1]:a.get(c)))c.linkedSeries.push(this),this.linkedParent=c},bindAxes:function(){var a=this,b=a.options,c=a.chart,d;a.isCartesian&&n(["xAxis","yAxis"],function(e){n(c[e],function(c){d=c.options;if(b[e]===d.index||b[e]!==y&&b[e]===d.id||b[e]===y&&d.index===0)c.series.push(a),a[e]=c,c.isDirty=!0});a[e]||qa(18,!0)})},autoIncrement:function(){var a=this.options,b=this.xIncrement,b=o(b,a.pointStart,0);this.pointInterval=o(this.pointInterval,a.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},getSegments:function(){var a=-1,b=[],c,d=this.points,e=d.length;if(e)if(this.options.connectNulls){for(c=e;c--;)d[c].y===null&&d.splice(c,1);d.length&&(b=[d])}else n(d,function(c,g){c.y===null?(g>a+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart.options,c=b.plotOptions,d=c[this.type];this.userOptions=a;a=x(d,c.series,a);this.tooltipOptions=x(b.tooltip,a.tooltip);d.marker===null&&delete a.marker;return a},getColor:function(){var a=this.options,b=this.userOptions,c=this.chart.options.colors,d=this.chart.counters,e;e=a.color||X[this.type].color;if(!e&&!a.colorByPoint)r(b._colorIndex)?a=b._colorIndex:(b._colorIndex=d.color,a=d.color++),e=c[a];this.color=e;d.wrapColor(c.length)},getSymbol:function(){var a=this.userOptions,b=this.options.marker,c=this.chart,d=c.options.symbols,c=c.counters;this.symbol=b.symbol;if(!this.symbol)r(a._symbolIndex)?a=a._symbolIndex:(a._symbolIndex=c.symbol,a=c.symbol++),this.symbol=d[a];if(/^url/.test(this.symbol))b.radius=0;c.wrapSymbol(d.length)},drawLegendSymbol:function(a){var b=this.options,c=b.marker,d=a.options.symbolWidth,e=this.chart.renderer,f=this.legendGroup,a=a.baseline,g;if(b.lineWidth){g={"stroke-width":b.lineWidth};if(b.dashStyle)g.dashstyle=b.dashStyle;this.legendLine=e.path(["M",0,a-4,"L",d,a-4]).attr(g).add(f)}if(c&&c.enabled)b=c.radius,this.legendSymbol=e.symbol(this.symbol,d/2-b,a-4-b,2*b,2*b).add(f)},addPoint:function(a,b,c,d){var e=this.options,f=this.data,g=this.graph,h=this.area,i=this.chart,j=this.xData,k=this.yData,m=this.zData,l=this.names,p=g&&g.shift||0,n=e.data;Ia(d,i);if(g&&c)g.shift=p+1;if(h){if(c)h.shift=p+1;h.isArea=!0}b=o(b,!0);d={series:this};this.pointClass.prototype.applyOptions.apply(d,[a]);j.push(d.x);k.push(this.toYData?this.toYData(d):d.y);m.push(d.z);if(l)l[d.x]=d.name;n.push(a);e.legendType==="point"&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),j.shift(),k.shift(),m.shift(),n.shift()));this.getAttribs();this.isDirtyData=this.isDirty=!0;b&&i.redraw()},setData:function(a,b){var c=this.points,d=this.options,e=this.chart,f=null,g=this.xAxis,h=g&&g.categories&&!g.categories.length?[]:null,i;this.xIncrement=null;this.pointRange=g&&g.categories?1:d.pointRange;this.colorCounter=0;var j=[],k=[],m=[],l=a?a.length:[],p=(i=this.pointArrayMap)&&i.length,n=!!this.toYData;if(l>(d.turboThreshold||1E3)){for(i=0;f===null&&i<l;)f=a[i],i++;if(Ea(f)){f=o(d.pointStart,0);d=o(d.pointInterval,1);for(i=0;i<l;i++)j[i]=f,k[i]=a[i],f+=d;this.xIncrement=f}else if(Da(f))if(p)for(i=0;i<l;i++)d=a[i],j[i]=d[0],k[i]=d.slice(1,p+1);else for(i=0;i<l;i++)d=a[i],j[i]=d[0],k[i]=d[1]}else for(i=0;i<l;i++)if(a[i]!==y&&(d={series:this},this.pointClass.prototype.applyOptions.apply(d,[a[i]]),j[i]=d.x,k[i]=n?this.toYData(d):d.y,m[i]=d.z,h&&d.name))h[i]=d.name;this.requireSorting&&j.length>1&&j[1]<j[0]&&qa(15);fa(k[0])&&qa(14,!0);this.data=[];this.options.data=a;this.xData=j;this.yData=k;this.zData=m;this.names=h;for(i=c&&c.length||0;i--;)c[i]&&c[i].destroy&&c[i].destroy();if(g)g.minRange=g.userMinRange;this.isDirty=this.isDirtyData=e.isDirtyBox=!0;o(b,!0)&&e.redraw(!1)},remove:function(a,b){var c=this,d=c.chart,a=o(a,!0);if(!c.isRemoving)c.isRemoving=!0,D(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;a&&d.redraw(b)});c.isRemoving=!1},processData:function(a){var b=this.xData,c=this.yData,d=b.length,e=0,f=d,g,h,i=this.xAxis,j=this.options,k=j.cropThreshold,m=this.isCartesian;if(m&&!this.isDirty&&!i.isDirty&&!this.yAxis.isDirty&&!a)return!1;if(m&&this.sorted&&(!k||d>k||this.forceCrop))if(a=i.getExtremes(),i=a.min,k=a.max,b[d-1]<i||b[0]>k)b=[],c=[];else if(b[0]<i||b[d-1]>k){for(a=0;a<d;a++)if(b[a]>=i){e=q(0,a-1);break}for(;a<d;a++)if(b[a]>k){f=a+1;break}b=b.slice(e,f);c=c.slice(e,f);g=!0}for(a=b.length-1;a>0;a--)if(d=b[a]-b[a-1],d>0&&(h===y||d<h))h=d;this.cropped=g;this.cropStart=e;this.processedXData=b;this.processedYData=c;if(j.pointRange===null)this.pointRange=h||1;this.closestPointRange=h},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,i,j=this.hasGroupedData,k,m=[],l;if(!b&&!j)b=[],b.length=a.length,b=this.data=b;for(l=0;l<g;l++)i=h+l,j?m[l]=(new f).init(this,[d[l]].concat(ha(e[l]))):(b[i]?k=b[i]:a[i]!==y&&(b[i]=k=(new f).init(this,a[i],d[l])),m[l]=k);if(b&&(g!==(c=b.length)||j))for(l=0;l<c;l++)if(l===h&&!j&&(l+=g),b[l])b[l].destroyElements(),b[l].plotX=y;this.data=b;this.points=m},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,h=!!this.modifyValue,i,j,k=a.pointPlacement==="between",m=a.threshold;j=e.series.sort(function(a,b){return a.index-b.index});for(a=j.length;a--;)if(j[a].visible){j[a]===this&&(i=!0);break}for(a=0;a<g;a++){j=f[a];var l=j.x,p=j.y,n=j.low,q=e.stacks[(p<m?"-":"")+this.stackKey];if(e.isLog&&p<=0)j.y=p=null;j.plotX=c.translate(l,0,0,0,1,k);if(b&&this.visible&&q&&q[l])n=q[l],q=n.total,n.cum=n=n.cum-p,p=n+p,i&&(n=o(m,e.min)),e.isLog&&n<=0&&(n=null),b==="percent"&&(n=q?n*100/q:0,p=q?p*100/q:0),j.percentage=q?j.y*100/q:0,j.total=j.stackTotal=q,j.stackY=p;j.yBottom=r(n)?e.translate(n,0,1,0,1):null;h&&(p=this.modifyValue(p,j));j.plotY=typeof p==="number"&&p!==Infinity?t(e.translate(p,0,1,0,1)*10)/10:y;j.clientX=k?c.translate(l,0,0,0,1):j.plotX;j.negative=j.y<(m||0);j.category=d&&d[j.x]!==y?d[j.x]:j.x}this.getSegments()},setTooltipPoints:function(a){var b=[],c,d,e=(c=this.xAxis)?c.tooltipLen||c.len:this.chart.plotSizeX,f,g,h=[];if(this.options.enableMouseTracking!==!1){if(a)this.tooltipPoints=null;n(this.segments||this.points,function(a){b=b.concat(a)});c&&c.reversed&&(b=b.reverse());a=b.length;for(g=0;g<a;g++){f=b[g];c=b[g-1]?d+1:0;for(d=b[g+1]?q(0,T((f.clientX+(b[g+1]?b[g+1].clientX:e))/2)):e;c>=0&&c<=d;)h[c++]=f}this.tooltipPoints=h}},tooltipHeaderFormatter:function(a){var b=this.tooltipOptions,c=b.xDateFormat,d=b.dateTimeLabelFormats,e=this.xAxis,f=e&&e.options.type==="datetime",b=b.headerFormat,e=e&&e.closestPointRange,g;if(f&&!c)if(e)for(g in E){if(E[g]>=e){c=d[g];break}}else c=d.day;f&&c&&Ea(a.key)&&(b=b.replace("{point.key}","{point.key:"+c+"}"));return wa(b,{point:a,series:this})},onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&D(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;if(d)d.onMouseOut();this&&a.events.mouseOut&&D(this,"mouseOut");c&&!a.stickyTracking&&(!c.shared||this.noSharedTooltip)&&c.hide();this.setState();b.hoverSeries=null},animate:function(a){var b=this,c=b.chart,d=c.renderer,e;e=b.options.animation;var f=c.clipBox,g=c.inverted,h;if(e&&!V(e))e=X[b.type].animation;h="_sharedClip"+e.duration+e.easing;if(a)a=c[h],e=c[h+"m"],a||(c[h]=a=d.clipRect(v(f,{width:0})),c[h+"m"]=e=d.clipRect(-99,g?-c.plotLeft:-c.plotTop,99,g?c.chartWidth:c.chartHeight)),b.group.clip(a),b.markerGroup.clip(e),b.sharedClipKey=h;else{if(a=c[h])a.animate({width:c.plotSizeX},e),c[h+"m"].animate({width:c.plotSizeX+99},e);b.animate=null;b.animationTimeout=setTimeout(function(){b.afterAnimate()},e.duration)}},afterAnimate:function(){var a=this.chart,b=this.sharedClipKey,c=this.group;c&&this.options.clip!==!1&&(c.clip(a.clipRect),this.markerGroup.clip());setTimeout(function(){b&&a[b]&&(a[b]=a[b].destroy(),a[b+"m"]=a[b+"m"].destroy())},100)},drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,i,j,k,m=this.options.marker,l,n=this.markerGroup;if(m.enabled||this._hasPointMarkers)for(f=b.length;f--;)if(g=b[f],d=g.plotX,e=g.plotY,k=g.graphic,i=g.marker||{},a=m.enabled&&i.enabled===y||i.enabled,l=c.isInsidePlot(t(d),e,c.inverted),a&&e!==y&&!isNaN(e)&&g.y!==null)if(a=g.pointAttr[g.selected?"select":""],h=a.r,i=o(i.symbol,this.symbol),j=i.indexOf("url")===0,k)k.attr({visibility:l?Z?"inherit":"visible":"hidden"}).animate(v({x:d-h,y:e-h},k.symbolName?{width:2*h,height:2*h}:{}));else{if(l&&(h>0||j))g.graphic=c.renderer.symbol(i,d-h,e-h,2*h,2*h).attr(a).add(n)}else if(k)g.graphic=k.destroy()},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=o(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=a.options,c=X[a.type].marker?b.marker:b,d=c.states,e=d.hover,f,g=a.color,h={stroke:g,fill:g},i=a.points||[],j=[],k,m=a.pointAttrToOptions,l=b.negativeColor,p;b.marker?(e.radius=e.radius||c.radius+2,e.lineWidth=e.lineWidth||c.lineWidth+1):e.color=e.color||ma(e.color||g).brighten(e.brightness).get();j[""]=a.convertAttribs(c,h);n(["hover","select"],function(b){j[b]=a.convertAttribs(d[b],j[""])});a.pointAttr=j;for(g=i.length;g--;){h=i[g];if((c=h.options&&h.options.marker||h.options)&&c.enabled===!1)c.radius=0;if(h.negative&&l)h.color=h.fillColor=l;f=b.colorByPoint||h.color;if(h.options)for(p in m)r(c[m[p]])&&(f=!0);if(f){c=c||{};k=[];d=c.states||{};f=d.hover=d.hover||{};if(!b.marker)f.color=ma(f.color||h.color).brighten(f.brightness||e.brightness).get();k[""]=a.convertAttribs(v({color:h.color},c),j[""]);k.hover=a.convertAttribs(d.hover,j.hover,k[""]);k.select=a.convertAttribs(d.select,j.select,k[""]);if(h.negative&&b.marker&&l)k[""].fill=k.hover.fill=k.select.fill=a.convertAttribs({fillColor:l}).fill}else k=j;h.pointAttr=k}},update:function(a,b){var c=this.chart,d=this.type,a=x(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},a);this.remove(!1);v(this,aa[a.type||d].prototype);this.init(c,a);o(b,!0)&&c.redraw(!1)},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(Aa),d,e,f=a.data||[],g,h,i;D(a,"destroy");ba(a);n(["xAxis","yAxis"],function(b){if(i=a[b])ga(i.series,a),i.isDirty=i.forceRedraw=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(e=f.length;e--;)(g=f[e])&&g.destroy&&g.destroy();a.points=null;clearTimeout(a.animationTimeout);n("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(b){a[b]&&(d=c&&b==="group"?"hide":"destroy",a[b][d]())});if(b.hoverSeries===a)b.hoverSeries=null;ga(b.series,a);for(h in a)delete a[h]},drawDataLabels:function(){var a=this,b=a.options.dataLabels,c=a.points,d,e,f,g;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),g=a.plotGroup("dataLabelsGroup","data-labels",a.visible?"visible":"hidden",b.zIndex||6),e=b,n(c,function(c){var i,j=c.dataLabel,k,m,l=c.connector,n=!0;d=c.options&&c.options.dataLabels;i=e.enabled||d&&d.enabled;if(j&&!i)c.dataLabel=j.destroy();else if(i){i=b.rotation;b=x(e,d);k=c.getLabelConfig();f=b.format?wa(b.format,k):b.formatter.call(k,b);b.style.color=o(b.color,b.style.color,a.color,"black");if(j)if(r(f))j.attr({text:f}),n=!1;else{if(c.dataLabel=j=j.destroy(),l)c.connector=l.destroy()}else if(r(f)){j={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:i,padding:b.padding,zIndex:1};for(m in j)j[m]===y&&delete j[m];j=c.dataLabel=a.chart.renderer[i?"text":"label"](f,0,-999,null,null,null,b.useHTML).attr(j).css(b.style).add(g).shadow(b.shadow)}j&&a.alignDataLabel(c,j,b,null,n)}})},alignDataLabel:function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=o(a.plotX,-999),a=o(a.plotY,-999),i=b.getBBox(),d=v({x:g?f.plotWidth-a:h,y:t(g?f.plotHeight-h:a),width:0,height:0},d);v(c,{width:i.width,height:i.height});c.rotation?(d={align:c.align,x:d.x+c.x+d.width/2,y:d.y+
c.y+d.height/2},b[e?"attr":"animate"](d)):b.align(c,null,d);b.attr({visibility:c.crop===!1||f.isInsidePlot(h,a,g)?f.renderer.isSVG?"inherit":"visible":"hidden"})},getSegmentPath:function(a){var b=this,c=[],d=b.options.step;n(a,function(e,f){var g=e.plotX,h=e.plotY,i;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(i=a[f-1],d==="right"?c.push(i.plotX,h):d==="center"?c.push((i.plotX+g)/2,i.plotY,(i.plotX+g)/2,h):c.push(g,i.plotY)),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];n(a.segments,function(e){c=a.getSegmentPath(e);e.length>1?b=b.concat(c):d.push(e[0])});a.singlePoints=d;return a.graphPath=b},drawGraph:function(){var a=this,b=this.options,c=[["graph",b.lineColor||this.color]],d=b.lineWidth,e=b.dashStyle,f=this.getGraphPath(),g=b.negativeColor;g&&c.push(["graphNeg",g]);n(c,function(c,g){var j=c[0],k=a[j];if(k)Ta(k),k.animate({d:f});else if(d&&f.length){k={stroke:c[1],"stroke-width":d,zIndex:1};if(e)k.dashstyle=e;a[j]=a.chart.renderer.path(f).attr(k).add(a.group).shadow(!g&&b.shadow)}})},clipNeg:function(){var a=this.options,b=this.chart,c=b.renderer,d=a.negativeColor,e,f=this.graph,g=this.area,h=this.posClip,i=this.negClip;e=b.chartWidth;var j=b.chartHeight,k=q(e,j);if(d&&(f||g))d=ja(this.yAxis.len-this.yAxis.translate(a.threshold||0)),a={x:0,y:0,width:k,height:d},k={x:0,y:d,width:k,height:k-d},b.inverted&&c.isVML&&(a={x:b.plotWidth-d-b.plotLeft,y:0,width:e,height:j},k={x:d+b.plotLeft-e,y:0,width:b.plotLeft+d,height:e}),this.yAxis.reversed?(b=k,e=a):(b=a,e=k),h?(h.animate(b),i.animate(e)):(this.posClip=h=c.clipRect(b),this.negClip=i=c.clipRect(e),f&&(f.clip(h),this.graphNeg.clip(i)),g&&(g.clip(h),this.areaNeg.clip(i)))},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};n(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;if(b.xAxis)J(c,"resize",a),J(b,"destroy",function(){ba(c,"resize",a)}),a(),b.invertGroups=a},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f,h=this.chart,i=this.xAxis,j=this.yAxis;g&&(this[a]=f=h.renderer.g(b).attr({visibility:c,zIndex:d||0.1}).add(e));f[g?"attr":"animate"]({translateX:i?i.left:h.plotLeft,translateY:j?j.top:h.plotTop,scaleX:1,scaleY:1});return f},render:function(){var a=this.chart,b,c=this.options,d=c.animation&&!!this.animate&&a.renderer.isSVG,e=this.visible?"visible":"hidden",f=c.zIndex,g=this.hasRendered,h=a.seriesGroup;b=this.plotGroup("group","series",e,f,h);this.markerGroup=this.plotGroup("markerGroup","markers",e,f,h);d&&this.animate(!0);this.getAttribs();b.inverted=this.isCartesian?a.inverted:!1;this.drawGraph&&(this.drawGraph(),this.clipNeg());this.drawDataLabels();this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();a.inverted&&this.invertGroups();c.clip!==!1&&!this.sharedClipKey&&!g&&b.clip(a.clipRect);d?this.animate():g||this.afterAnimate();this.isDirty=this.isDirtyData=!1;this.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:o(d&&d.left,a.plotLeft),translateY:o(e&&e.top,a.plotTop)}));this.translate();this.setTooltipPoints(!0);this.render();b&&D(this,"updatedData")},setState:function(a){var b=this.options,c=this.graph,d=this.graphNeg,e=b.states,b=b.lineWidth,a=a||"";if(this.state!==a)this.state=a,e[a]&&e[a].enabled===!1||(a&&(b=e[a].lineWidth||b+1),c&&!c.dashstyle&&(a={"stroke-width":b},c.attr(a),d&&d.attr(a)))},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.userOptions.visible=a===y?!h:a)?"show":"hide";n(["group","dataLabelsGroup","markerGroup","tracker"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&n(d.series,function(a){if(a.options.stacking&&a.visible)a.isDirty=!0});n(c.linkedSeries,function(b){b.setVisible(a,!1)});if(g)d.isDirtyBox=!0;b!==!1&&d.redraw();D(c,f)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===y?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;D(this,a?"select":"unselect")},drawTracker:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,g=f.pointer,h=f.renderer,i=f.options.tooltip.snap,j=a.tracker,k=b.cursor,k=k&&{cursor:k},m=a.singlePoints,l,n=function(){if(f.hoverSeries!==a)a.onMouseOver()};if(e&&!c)for(l=e+1;l--;)d[l]==="M"&&d.splice(l+1,0,d[l+1]-i,d[l+2],"L"),(l&&d[l]==="M"||l===e)&&d.splice(l,0,"L",d[l-2]+i,d[l-1]);for(l=0;l<m.length;l++)e=m[l],d.push("M",e.plotX-i,e.plotY,"L",e.plotX+i,e.plotY);if(j)j.attr({d:d});else if(a.tracker=j=h.path(d).attr({"class":"highcharts-tracker","stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:Ob,fill:c?Ob:S,"stroke-width":b.lineWidth+(c?0:2*i),zIndex:2}).addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){g.onTrackerMouseOut(a)}).css(k).add(a.markerGroup),fb)j.on("touchstart",n)}};M=ea(R);aa.line=M;X.area=x(W,{threshold:0});M=ea(R,{type:"area",getSegments:function(){var a=[],b=[],c=[],d=this.xAxis,e=this.yAxis,f=e.stacks[this.stackKey],g={},h,i,j=this.points,k,m;if(this.options.stacking&&!this.cropped){for(k=0;k<j.length;k++)g[j[k].x]=j[k];for(m in f)c.push(+m);c.sort(function(a,b){return a-b});n(c,function(a){g[a]?b.push(g[a]):(h=d.translate(a),i=e.toPixels(f[a].cum,!0),b.push({y:null,plotX:h,clientX:h,plotY:i,yBottom:i,onMouseOver:ta}))});b.length&&a.push(b)}else R.prototype.getSegments.call(this),a=this.segments;this.segments=a},getSegmentPath:function(a){var b=R.prototype.getSegmentPath.call(this,a),c=[].concat(b),d,e=this.options;b.length===3&&c.push("L",b[1],b[2]);if(e.stacking&&!this.closedStacks)for(d=a.length-1;d>=0;d--)d<a.length-1&&e.step&&c.push(a[d+1].plotX,a[d].yBottom),c.push(a[d].plotX,a[d].yBottom);else this.closeSegment(c,a);this.areaPath=this.areaPath.concat(c);return b},closeSegment:function(a,b){var c=this.yAxis.getThreshold(this.options.threshold);a.push("L",b[b.length-1].plotX,c,"L",b[0].plotX,c)},drawGraph:function(){this.areaPath=[];R.prototype.drawGraph.apply(this);var a=this,b=this.areaPath,c=this.options,d=[["area",this.color,c.fillColor]];c.negativeColor&&d.push(["areaNeg",c.negativeColor,c.negativeFillColor]);n(d,function(d){var f=d[0],g=a[f];g?g.animate({d:b}):a[f]=a.chart.renderer.path(b).attr({fill:o(d[2],ma(d[1]).setOpacity(c.fillOpacity||0.75).get()),zIndex:0}).add(a.group)})},drawLegendSymbol:function(a,b){b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,a.options.symbolWidth,12,2).attr({zIndex:3}).add(b.legendGroup)}});aa.area=M;X.spline=x(W);F=ea(R,{type:"spline",getPointSpline:function(a,b,c){var d=b.plotX,e=b.plotY,f=a[c-1],g=a[c+1],h,i,j,k;if(f&&g){a=f.plotY;j=g.plotX;var g=g.plotY,m;h=(1.5*d+f.plotX)/2.5;i=(1.5*e+a)/2.5;j=(1.5*d+j)/2.5;k=(1.5*e+g)/2.5;m=(k-i)*(j-d)/(j-h)+e-k;i+=m;k+=m;i>a&&i>e?(i=q(a,e),k=2*e-i):i<a&&i<e&&(i=K(a,e),k=2*e-i);k>g&&k>e?(k=q(g,e),i=2*e-k):k<g&&k<e&&(k=K(g,e),i=2*e-k);b.rightContX=j;b.rightContY=k}c?(b=["C",f.rightContX||f.plotX,f.rightContY||f.plotY,h||d,i||e,d,e],f.rightContX=f.rightContY=null):b=["M",d,e];return b}});aa.spline=F;X.areaspline=x(X.area);na=M.prototype;F=ea(F,{type:"areaspline",closedStacks:!0,getSegmentPath:na.getSegmentPath,closeSegment:na.closeSegment,drawGraph:na.drawGraph});aa.areaspline=F;X.column=x(W,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,threshold:0});F=ea(R,{type:"column",tooltipOutsidePlot:!0,requireSorting:!1,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},trackerGroups:["group","dataLabelsGroup"],init:function(){R.prototype.init.apply(this,arguments);var a=this,b=a.chart;b.hasRendered&&n(b.series,function(b){if(b.type===a.type)b.isDirty=!0})},getColumnMetrics:function(){var a=this,b=a.chart,c=a.options,d=this.xAxis,e=d.reversed,f,g={},h,i=0;c.grouping===!1?i=1:n(b.series,function(b){var c=b.options;if(b.type===a.type&&b.visible&&a.options.group===c.group)c.stacking?(f=b.stackKey,g[f]===y&&(g[f]=i++),h=g[f]):c.grouping!==!1&&(h=i++),b.columnIndex=h});var b=K(Q(d.transA)*(d.ordinalSlope||c.pointRange||d.closestPointRange||1),d.len),d=b*c.groupPadding,j=(b-2*d)/i,k=c.pointWidth,c=r(k)?(j-k)/2:j*c.pointPadding,k=o(k,j-2*c);return a.columnMetrics={width:k,offset:c+(d+((e?i-(a.columnIndex||0):a.columnIndex)||0)*j-b/2)*(e?-1:1)}},translate:function(){var a=this,b=a.chart,c=a.options,d=c.stacking,e=c.borderWidth,f=a.yAxis,g=a.translatedThreshold=f.getThreshold(c.threshold),h=o(c.minPointLength,5),c=a.getColumnMetrics(),i=c.width,j=ja(q(i,1+2*e)),k=c.offset;R.prototype.translate.apply(a);n(a.points,function(c){var l=K(q(-999,c.plotY),f.len+999),n=o(c.yBottom,g),s=c.plotX+k,t=ja(K(l,n)),l=ja(q(l,n)-t),r=f.stacks[(c.y<0?"-":"")+a.stackKey];d&&a.visible&&r&&r[c.x]&&r[c.x].setOffset(k,j);Q(l)<h&&h&&(l=h,t=Q(t-g)>h?n-h:g-(f.translate(c.y,0,1,0,1)<=g?h:0));c.barX=s;c.pointWidth=i;c.shapeType="rect";c.shapeArgs=c=b.renderer.Element.prototype.crisp.call(0,e,s,t,j,l);e%2&&(c.y-=1,c.height+=1)})},getSymbol:ta,drawLegendSymbol:M.prototype.drawLegendSymbol,drawGraph:ta,drawPoints:function(){var a=this,b=a.options,c=a.chart.renderer,d;n(a.points,function(e){var f=e.plotY,g=e.graphic;if(f!==y&&!isNaN(f)&&e.y!==null)d=e.shapeArgs,g?(Ta(g),g.animate(x(d))):e.graphic=c[e.shapeType](d).attr(e.pointAttr[e.selected?"select":""]).add(a.group).shadow(b.shadow,null,b.stacking&&!b.borderRadius);else if(g)e.graphic=g.destroy()})},drawTracker:function(){var a=this,b=a.chart.pointer,c=a.options.cursor,d=c&&{cursor:c},e=function(b){var c=b.target,d;for(a.onMouseOver();c&&!d;)d=c.point,c=c.parentNode;if(d!==y)d.onMouseOver(b)};n(a.points,function(a){if(a.graphic)a.graphic.element.point=a;if(a.dataLabel)a.dataLabel.element.point=a});a._hasTracking?a._hasTracking=!0:n(a.trackerGroups,function(c){if(a[c]&&(a[c].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(a){b.onTrackerMouseOut(a)}).css(d),fb))a[c].on("touchstart",e)})},alignDataLabel:function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=a.dlBox||a.shapeArgs,i=a.below||a.plotY>o(this.translatedThreshold,f.plotSizeY),j=o(c.inside,!!this.options.stacking);if(h&&(d=x(h),g&&(d={x:f.plotWidth-d.y-d.height,y:f.plotHeight-d.x-d.width,width:d.height,height:d.width}),!j))g?(d.x+=i?0:d.width,d.width=0):(d.y+=i?d.height:0,d.height=0);c.align=o(c.align,!g||j?"center":i?"right":"left");c.verticalAlign=o(c.verticalAlign,g||j?"middle":i?"top":"bottom");R.prototype.alignDataLabel.call(this,a,b,c,d,e)},animate:function(a){var b=this.yAxis,c=this.options,d=this.chart.inverted,e={};if(Z)a?(e.scaleY=0.001,a=K(b.pos+b.len,q(b.pos,b.toPixels(c.threshold))),d?e.translateX=a-b.len:e.translateY=a,this.group.attr(e)):(e.scaleY=1,e[d?"translateX":"translateY"]=b.pos,this.group.animate(e,this.options.animation),this.animate=null)},remove:function(){var a=this,b=a.chart;b.hasRendered&&n(b.series,function(b){if(b.type===a.type)b.isDirty=!0});R.prototype.remove.apply(a,arguments)}});aa.column=F;X.bar=x(X.column);na=ea(F,{type:"bar",inverted:!0});aa.bar=na;X.scatter=x(W,{lineWidth:0,tooltip:{headerFormat:'<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>",followPointer:!0},stickyTracking:!1});na=ea(R,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],drawTracker:F.prototype.drawTracker,setTooltipPoints:ta});aa.scatter=na;X.pie=x(W,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});W={type:"pie",isCartesian:!1,pointClass:ea(Na,{init:function(){Na.prototype.init.apply(this,arguments);var a=this,b;if(a.y<0)a.y=null;v(a,{visible:a.visible!==!1,name:o(a.name,"Slice")});b=function(){a.slice()};J(a,"select",b);J(a,"unselect",b);return a},setVisible:function(a){var b=this,c=b.series,d=c.chart,e;b.visible=b.options.visible=a=a===y?!b.visible:a;c.options.data[la(b,c.data)]=b.options;e=a?"show":"hide";n(["graphic","dataLabel","connector","shadowGroup"],function(a){if(b[a])b[a][e]()});b.legendItem&&d.legend.colorizeItem(b,a);if(!c.isDirty&&c.options.ignoreHiddenPoint)c.isDirty=!0,d.redraw()},slice:function(a,b,c){var d=this.series;Ia(c,d.chart);o(b,!0);this.sliced=this.options.sliced=a=r(a)?a:!this.sliced;d.options.data[la(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:ta,animate:function(a){var b=this,c=b.points,d=b.startAngleRad;if(!a)n(c,function(a){var c=a.graphic,a=a.shapeArgs;c&&(c.attr({r:b.center[3]/2,start:d,end:d}),c.animate({r:a.r,start:a.start,end:a.end},b.options.animation))}),b.animate=null},setData:function(a,b){R.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();o(b,!0)&&this.chart.redraw()},getCenter:function(){var a=this.options,b=this.chart,c=2*(a.slicedOffset||0),d,e=b.plotWidth-2*c,f=b.plotHeight-
2*c,b=a.center,a=[o(b[0],"50%"),o(b[1],"50%"),a.size||"100%",a.innerSize||0],g=K(e,f),h;return La(a,function(a,b){h=/%$/.test(a);d=b<2||b===2&&h;return(h?[e,f,g,g][b]*u(a)/100:a)+(d?c:0)})},translate:function(a){this.generatePoints();var b=0,c=0,d=this.options,e=d.slicedOffset,f=e+d.borderWidth,g,h,i,j=this.startAngleRad=Ka/180*((d.startAngle||0)%360-90),k=this.points,m=2*Ka,l=d.dataLabels.distance,n=d.ignoreHiddenPoint,o,q=k.length,r;if(!a)this.center=a=this.getCenter();this.getX=function(b,c){i=I.asin((b-a[1])/(a[2]/2+l));return a[0]+(c?-1:1)*Y(i)*(a[2]/2+l)};for(o=0;o<q;o++)r=k[o],b+=n&&!r.visible?0:r.y;for(o=0;o<q;o++){r=k[o];d=b?r.y/b:0;g=t((j+c*m)*1E3)/1E3;if(!n||r.visible)c+=d;h=t((j+c*m)*1E3)/1E3;r.shapeType="arc";r.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:g,end:h};i=(h+g)/2;i>0.75*m&&(i-=2*Ka);r.slicedTranslation={translateX:t(Y(i)*e),translateY:t(ca(i)*e)};g=Y(i)*a[2]/2;h=ca(i)*a[2]/2;r.tooltipPos=[a[0]+g*0.7,a[1]+h*0.7];r.half=i<m/4?0:1;r.angle=i;f=K(f,l/2);r.labelPos=[a[0]+g+Y(i)*l,a[1]+h+ca(i)*l,a[0]+g+Y(i)*f,a[1]+h+ca(i)*f,a[0]+g,a[1]+h,l<0?"center":r.half?"right":"left",i];r.percentage=d*100;r.total=b}this.setTooltipPoints()},drawGraph:null,drawPoints:function(){var a=this,b=a.chart.renderer,c,d,e=a.options.shadow,f,g;if(e&&!a.shadowGroup)a.shadowGroup=b.g("shadow").add(a.group);n(a.points,function(h){d=h.graphic;g=h.shapeArgs;f=h.shadowGroup;if(e&&!f)f=h.shadowGroup=b.g("shadow").add(a.shadowGroup);c=h.sliced?h.slicedTranslation:{translateX:0,translateY:0};f&&f.attr(c);d?d.animate(v(g,c)):h.graphic=d=b.arc(g).setRadialReference(a.center).attr(h.pointAttr[h.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(c).add(a.group).shadow(e,f);h.visible===!1&&h.setVisible(!1)})},drawDataLabels:function(){var a=this,b=a.data,c,d=a.chart,e=a.options.dataLabels,f=o(e.connectorPadding,10),g=o(e.connectorWidth,1),h=d.plotWidth,d=d.plotHeight,i,j,k=o(e.softConnector,!0),m=e.distance,l=a.center,p=l[2]/2,s=l[1],r=m>0,v,w,u,x,y=[[],[]],A,z,E,H,C,D=[0,0,0,0],K=function(a,b){return b.y-a.y},M=function(a,b){a.sort(function(a,c){return a.angle!==void 0&&(c.angle-a.angle)*b})};if(e.enabled||a._hasPointLabels){R.prototype.drawDataLabels.apply(a);n(b,function(a){a.dataLabel&&y[a.half].push(a)});for(H=0;!x&&b[H];)x=b[H]&&b[H].dataLabel&&(b[H].dataLabel.getBBox().height||21),H++;for(H=2;H--;){var b=[],L=[],I=y[H],J=I.length,F;M(I,H-0.5);if(m>0){for(C=s-p-m;C<=s+p+m;C+=x)b.push(C);w=b.length;if(J>w){c=[].concat(I);c.sort(K);for(C=J;C--;)c[C].rank=C;for(C=J;C--;)I[C].rank>=w&&I.splice(C,1);J=I.length}for(C=0;C<J;C++){c=I[C];u=c.labelPos;c=9999;var O,N;for(N=0;N<w;N++)O=Q(b[N]-u[1]),O<c&&(c=O,F=N);if(F<C&&b[C]!==null)F=C;else for(w<J-C+F&&b[C]!==null&&(F=w-J+C);b[F]===null;)F++;L.push({i:F,y:b[F]});b[F]=null}L.sort(K)}for(C=0;C<J;C++){c=I[C];u=c.labelPos;v=c.dataLabel;E=c.visible===!1?"hidden":"visible";c=u[1];if(m>0){if(w=L.pop(),F=w.i,z=w.y,c>z&&b[F+1]!==null||c<z&&b[F-1]!==null)z=c}else z=c;A=e.justify?l[0]+(H?-1:1)*(p+m):a.getX(F===0||F===b.length-1?c:z,H);v._attr={visibility:E,align:u[6]};v._pos={x:A+e.x+({left:f,right:-f}[u[6]]||0),y:z+e.y-10};v.connX=A;v.connY=z;if(this.options.size===null)w=v.width,A-w<f?D[3]=q(t(w-A+f),D[3]):A+w>h-f&&(D[1]=q(t(A+w-h+f),D[1])),z-x/2<0?D[0]=q(t(-z+x/2),D[0]):z+x/2>d&&(D[2]=q(t(z+x/2-d),D[2]))}}if(pa(D)===0||this.verifyDataLabelOverflow(D))this.placeDataLabels(),r&&g&&n(this.points,function(b){i=b.connector;u=b.labelPos;if((v=b.dataLabel)&&v._pos)E=v._attr.visibility,A=v.connX,z=v.connY,j=k?["M",A+(u[6]==="left"?5:-5),z,"C",A,z,2*u[2]-u[4],2*u[3]-u[5],u[2],u[3],"L",u[4],u[5]]:["M",A+(u[6]==="left"?5:-5),z,"L",u[2],u[3],"L",u[4],u[5]],i?(i.animate({d:j}),i.attr("visibility",E)):b.connector=i=a.chart.renderer.path(j).attr({"stroke-width":g,stroke:e.connectorColor||b.color||"#606060",visibility:E}).add(a.group);else if(i)b.connector=i.destroy()})}},verifyDataLabelOverflow:function(a){var b=this.center,c=this.options,d=c.center,e=c=c.minSize||80,f;d[0]!==null?e=q(b[2]-q(a[1],a[3]),c):(e=q(b[2]-a[1]-a[3],c),b[0]+=(a[3]-
a[1])/2);d[1]!==null?e=q(K(e,b[2]-q(a[0],a[2])),c):(e=q(K(e,b[2]-a[0]-a[2]),c),b[1]+=(a[0]-a[2])/2);e<b[2]?(b[2]=e,this.translate(b),n(this.points,function(a){if(a.dataLabel)a.dataLabel._pos=null}),this.drawDataLabels()):f=!0;return f},placeDataLabels:function(){n(this.points,function(a){var a=a.dataLabel,b;if(a)(b=a._pos)?(a.attr(a._attr),a[a.moved?"animate":"attr"](b),a.moved=!0):a&&a.attr({y:-999})})},alignDataLabel:ta,drawTracker:F.prototype.drawTracker,drawLegendSymbol:M.prototype.drawLegendSymbol,getSymbol:ta};W=ea(R,W);aa.pie=W;v(Highcharts,{Axis:ab,Chart:tb,Color:ma,Legend:sb,Pointer:rb,Point:Na,Tick:Ja,Tooltip:qb,Renderer:Sa,Series:R,SVGElement:ra,SVGRenderer:Ca,arrayMin:Ga,arrayMax:pa,charts:Ba,dateFormat:Ua,format:wa,pathAnim:vb,getOptions:function(){return N},hasBidiBug:Sb,isTouchDevice:Mb,numberFormat:ua,seriesTypes:aa,setOptions:function(a){N=x(N,a);Jb();return N},addEvent:J,removeEvent:ba,createElement:U,discardElement:Ra,css:L,each:n,extend:v,map:La,merge:x,pick:o,splat:ha,extendClass:ea,pInt:u,wrap:zb,svg:Z,canvas:$,vml:!Z&&!$,product:"Highcharts",version:"3.0.2"})})();

/* end /scripts/players/util/highcharts.js*/

/* start /scripts/players/util/backbone-min-0.9.10.js*/
(function(){var root=this;var previousBackbone=root.Backbone;var array=[];var push=array.push;var slice=array.slice;var splice=array.splice;var Backbone;if(typeof exports!=='undefined'){Backbone=exports;}else{Backbone=root.Backbone={};}
Backbone.VERSION='0.9.10';var _=root._;if(!_&&(typeof require!=='undefined'))_=require('underscore');Backbone.$=root.jQuery||root.Zepto||root.ender;Backbone.noConflict=function(){root.Backbone=previousBackbone;return this;};Backbone.emulateHTTP=false;Backbone.emulateJSON=false;var eventSplitter=/\s+/;var eventsApi=function(obj,action,name,rest){if(!name)return true;if(typeof name==='object'){for(var key in name){obj[action].apply(obj,[key,name[key]].concat(rest));}}else if(eventSplitter.test(name)){var names=name.split(eventSplitter);for(var i=0,l=names.length;i<l;i++){obj[action].apply(obj,[names[i]].concat(rest));}}else{return true;}};var triggerEvents=function(events,args){var ev,i=-1,l=events.length;switch(args.length){case 0:while(++i<l)(ev=events[i]).callback.call(ev.ctx);return;case 1:while(++i<l)(ev=events[i]).callback.call(ev.ctx,args[0]);return;case 2:while(++i<l)(ev=events[i]).callback.call(ev.ctx,args[0],args[1]);return;case 3:while(++i<l)(ev=events[i]).callback.call(ev.ctx,args[0],args[1],args[2]);return;default:while(++i<l)(ev=events[i]).callback.apply(ev.ctx,args);}};var Events=Backbone.Events={on:function(name,callback,context){if(!(eventsApi(this,'on',name,[callback,context])&&callback))return this;this._events||(this._events={});var list=this._events[name]||(this._events[name]=[]);list.push({callback:callback,context:context,ctx:context||this});return this;},once:function(name,callback,context){if(!(eventsApi(this,'once',name,[callback,context])&&callback))return this;var self=this;var once=_.once(function(){self.off(name,once);callback.apply(this,arguments);});once._callback=callback;this.on(name,once,context);return this;},off:function(name,callback,context){var list,ev,events,names,i,l,j,k;if(!this._events||!eventsApi(this,'off',name,[callback,context]))return this;if(!name&&!callback&&!context){this._events={};return this;}
names=name?[name]:_.keys(this._events);for(i=0,l=names.length;i<l;i++){name=names[i];if(list=this._events[name]){events=[];if(callback||context){for(j=0,k=list.length;j<k;j++){ev=list[j];if((callback&&callback!==ev.callback&&callback!==ev.callback._callback)||(context&&context!==ev.context)){events.push(ev);}}}
this._events[name]=events;}}
return this;},trigger:function(name){if(!this._events)return this;var args=slice.call(arguments,1);if(!eventsApi(this,'trigger',name,args))return this;var events=this._events[name];var allEvents=this._events.all;if(events)triggerEvents(events,args);if(allEvents)triggerEvents(allEvents,arguments);return this;},listenTo:function(obj,name,callback){var listeners=this._listeners||(this._listeners={});var id=obj._listenerId||(obj._listenerId=_.uniqueId('l'));listeners[id]=obj;obj.on(name,typeof name==='object'?this:callback,this);return this;},stopListening:function(obj,name,callback){var listeners=this._listeners;if(!listeners)return;if(obj){obj.off(name,typeof name==='object'?this:callback,this);if(!name&&!callback)delete listeners[obj._listenerId];}else{if(typeof name==='object')callback=this;for(var id in listeners){listeners[id].off(name,callback,this);}
this._listeners={};}
return this;}};Events.bind=Events.on;Events.unbind=Events.off;_.extend(Backbone,Events);var Model=Backbone.Model=function(attributes,options){var defaults;var attrs=attributes||{};this.cid=_.uniqueId('c');this.attributes={};if(options&&options.collection)this.collection=options.collection;if(options&&options.parse)attrs=this.parse(attrs,options)||{};if(defaults=_.result(this,'defaults')){attrs=_.defaults({},attrs,defaults);}
this.set(attrs,options);this.changed={};this.initialize.apply(this,arguments);};_.extend(Model.prototype,Events,{changed:null,idAttribute:'id',initialize:function(){},toJSON:function(options){return _.clone(this.attributes);},sync:function(){return Backbone.sync.apply(this,arguments);},get:function(attr){return this.attributes[attr];},escape:function(attr){return _.escape(this.get(attr));},has:function(attr){return this.get(attr)!=null;},set:function(key,val,options){var attr,attrs,unset,changes,silent,changing,prev,current;if(key==null)return this;if(typeof key==='object'){attrs=key;options=val;}else{(attrs={})[key]=val;}
options||(options={});if(!this._validate(attrs,options))return false;unset=options.unset;silent=options.silent;changes=[];changing=this._changing;this._changing=true;if(!changing){this._previousAttributes=_.clone(this.attributes);this.changed={};}
current=this.attributes,prev=this._previousAttributes;if(this.idAttribute in attrs)this.id=attrs[this.idAttribute];for(attr in attrs){val=attrs[attr];if(!_.isEqual(current[attr],val))changes.push(attr);if(!_.isEqual(prev[attr],val)){this.changed[attr]=val;}else{delete this.changed[attr];}
unset?delete current[attr]:current[attr]=val;}
if(!silent){if(changes.length)this._pending=true;for(var i=0,l=changes.length;i<l;i++){this.trigger('change:'+changes[i],this,current[changes[i]],options);}}
if(changing)return this;if(!silent){while(this._pending){this._pending=false;this.trigger('change',this,options);}}
this._pending=false;this._changing=false;return this;},unset:function(attr,options){return this.set(attr,void 0,_.extend({},options,{unset:true}));},clear:function(options){var attrs={};for(var key in this.attributes)attrs[key]=void 0;return this.set(attrs,_.extend({},options,{unset:true}));},hasChanged:function(attr){if(attr==null)return!_.isEmpty(this.changed);return _.has(this.changed,attr);},changedAttributes:function(diff){if(!diff)return this.hasChanged()?_.clone(this.changed):false;var val,changed=false;var old=this._changing?this._previousAttributes:this.attributes;for(var attr in diff){if(_.isEqual(old[attr],(val=diff[attr])))continue;(changed||(changed={}))[attr]=val;}
return changed;},previous:function(attr){if(attr==null||!this._previousAttributes)return null;return this._previousAttributes[attr];},previousAttributes:function(){return _.clone(this._previousAttributes);},fetch:function(options){options=options?_.clone(options):{};if(options.parse===void 0)options.parse=true;var success=options.success;options.success=function(model,resp,options){if(!model.set(model.parse(resp,options),options))return false;if(success)success(model,resp,options);};return this.sync('read',this,options);},save:function(key,val,options){var attrs,success,method,xhr,attributes=this.attributes;if(key==null||typeof key==='object'){attrs=key;options=val;}else{(attrs={})[key]=val;}
if(attrs&&(!options||!options.wait)&&!this.set(attrs,options))return false;options=_.extend({validate:true},options);if(!this._validate(attrs,options))return false;if(attrs&&options.wait){this.attributes=_.extend({},attributes,attrs);}
if(options.parse===void 0)options.parse=true;success=options.success;options.success=function(model,resp,options){model.attributes=attributes;var serverAttrs=model.parse(resp,options);if(options.wait)serverAttrs=_.extend(attrs||{},serverAttrs);if(_.isObject(serverAttrs)&&!model.set(serverAttrs,options)){return false;}
if(success)success(model,resp,options);};method=this.isNew()?'create':(options.patch?'patch':'update');if(method==='patch')options.attrs=attrs;xhr=this.sync(method,this,options);if(attrs&&options.wait)this.attributes=attributes;return xhr;},destroy:function(options){options=options?_.clone(options):{};var model=this;var success=options.success;var destroy=function(){model.trigger('destroy',model,model.collection,options);};options.success=function(model,resp,options){if(options.wait||model.isNew())destroy();if(success)success(model,resp,options);};if(this.isNew()){options.success(this,null,options);return false;}
var xhr=this.sync('delete',this,options);if(!options.wait)destroy();return xhr;},url:function(){var base=_.result(this,'urlRoot')||_.result(this.collection,'url')||urlError();if(this.isNew())return base;return base+(base.charAt(base.length-1)==='/'?'':'/')+encodeURIComponent(this.id);},parse:function(resp,options){return resp;},clone:function(){return new this.constructor(this.attributes);},isNew:function(){return this.id==null;},isValid:function(options){return!this.validate||!this.validate(this.attributes,options);},_validate:function(attrs,options){if(!options.validate||!this.validate)return true;attrs=_.extend({},this.attributes,attrs);var error=this.validationError=this.validate(attrs,options)||null;if(!error)return true;this.trigger('invalid',this,error,options||{});return false;}});var Collection=Backbone.Collection=function(models,options){options||(options={});if(options.model)this.model=options.model;if(options.comparator!==void 0)this.comparator=options.comparator;this.models=[];this._reset();this.initialize.apply(this,arguments);if(models)this.reset(models,_.extend({silent:true},options));};_.extend(Collection.prototype,Events,{model:Model,initialize:function(){},toJSON:function(options){return this.map(function(model){return model.toJSON(options);});},sync:function(){return Backbone.sync.apply(this,arguments);},add:function(models,options){models=_.isArray(models)?models.slice():[models];options||(options={});var i,l,model,attrs,existing,doSort,add,at,sort,sortAttr;add=[];at=options.at;sort=this.comparator&&(at==null)&&options.sort!=false;sortAttr=_.isString(this.comparator)?this.comparator:null;for(i=0,l=models.length;i<l;i++){if(!(model=this._prepareModel(attrs=models[i],options))){this.trigger('invalid',this,attrs,options);continue;}
if(existing=this.get(model)){if(options.merge){existing.set(attrs===model?model.attributes:attrs,options);if(sort&&!doSort&&existing.hasChanged(sortAttr))doSort=true;}
continue;}
add.push(model);model.on('all',this._onModelEvent,this);this._byId[model.cid]=model;if(model.id!=null)this._byId[model.id]=model;}
if(add.length){if(sort)doSort=true;this.length+=add.length;if(at!=null){splice.apply(this.models,[at,0].concat(add));}else{push.apply(this.models,add);}}
if(doSort)this.sort({silent:true});if(options.silent)return this;for(i=0,l=add.length;i<l;i++){(model=add[i]).trigger('add',model,this,options);}
if(doSort)this.trigger('sort',this,options);return this;},remove:function(models,options){models=_.isArray(models)?models.slice():[models];options||(options={});var i,l,index,model;for(i=0,l=models.length;i<l;i++){model=this.get(models[i]);if(!model)continue;delete this._byId[model.id];delete this._byId[model.cid];index=this.indexOf(model);this.models.splice(index,1);this.length--;if(!options.silent){options.index=index;model.trigger('remove',model,this,options);}
this._removeReference(model);}
return this;},push:function(model,options){model=this._prepareModel(model,options);this.add(model,_.extend({at:this.length},options));return model;},pop:function(options){var model=this.at(this.length-1);this.remove(model,options);return model;},unshift:function(model,options){model=this._prepareModel(model,options);this.add(model,_.extend({at:0},options));return model;},shift:function(options){var model=this.at(0);this.remove(model,options);return model;},slice:function(begin,end){return this.models.slice(begin,end);},get:function(obj){if(obj==null)return void 0;this._idAttr||(this._idAttr=this.model.prototype.idAttribute);return this._byId[obj.id||obj.cid||obj[this._idAttr]||obj];},at:function(index){return this.models[index];},where:function(attrs){if(_.isEmpty(attrs))return[];return this.filter(function(model){for(var key in attrs){if(attrs[key]!==model.get(key))return false;}
return true;});},sort:function(options){if(!this.comparator){throw new Error('Cannot sort a set without a comparator');}
options||(options={});if(_.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this);}else{this.models.sort(_.bind(this.comparator,this));}
if(!options.silent)this.trigger('sort',this,options);return this;},pluck:function(attr){return _.invoke(this.models,'get',attr);},update:function(models,options){options=_.extend({add:true,merge:true,remove:true},options);if(options.parse)models=this.parse(models,options);var model,i,l,existing;var add=[],remove=[],modelMap={};if(!_.isArray(models))models=models?[models]:[];if(options.add&&!options.remove)return this.add(models,options);for(i=0,l=models.length;i<l;i++){model=models[i];existing=this.get(model);if(options.remove&&existing)modelMap[existing.cid]=true;if((options.add&&!existing)||(options.merge&&existing)){add.push(model);}}
if(options.remove){for(i=0,l=this.models.length;i<l;i++){model=this.models[i];if(!modelMap[model.cid])remove.push(model);}}
if(remove.length)this.remove(remove,options);if(add.length)this.add(add,options);return this;},reset:function(models,options){options||(options={});if(options.parse)models=this.parse(models,options);for(var i=0,l=this.models.length;i<l;i++){this._removeReference(this.models[i]);}
options.previousModels=this.models.slice();this._reset();if(models)this.add(models,_.extend({silent:true},options));if(!options.silent)this.trigger('reset',this,options);return this;},fetch:function(options){options=options?_.clone(options):{};if(options.parse===void 0)options.parse=true;var success=options.success;options.success=function(collection,resp,options){var method=options.update?'update':'reset';collection[method](resp,options);if(success)success(collection,resp,options);};return this.sync('read',this,options);},create:function(model,options){options=options?_.clone(options):{};if(!(model=this._prepareModel(model,options)))return false;if(!options.wait)this.add(model,options);var collection=this;var success=options.success;options.success=function(model,resp,options){if(options.wait)collection.add(model,options);if(success)success(model,resp,options);};model.save(null,options);return model;},parse:function(resp,options){return resp;},clone:function(){return new this.constructor(this.models);},_reset:function(){this.length=0;this.models.length=0;this._byId={};},_prepareModel:function(attrs,options){if(attrs instanceof Model){if(!attrs.collection)attrs.collection=this;return attrs;}
options||(options={});options.collection=this;var model=new this.model(attrs,options);if(!model._validate(attrs,options))return false;return model;},_removeReference:function(model){if(this===model.collection)delete model.collection;model.off('all',this._onModelEvent,this);},_onModelEvent:function(event,model,collection,options){if((event==='add'||event==='remove')&&collection!==this)return;if(event==='destroy')this.remove(model,options);if(model&&event==='change:'+model.idAttribute){delete this._byId[model.previous(model.idAttribute)];if(model.id!=null)this._byId[model.id]=model;}
this.trigger.apply(this,arguments);},sortedIndex:function(model,value,context){value||(value=this.comparator);var iterator=_.isFunction(value)?value:function(model){return model.get(value);};return _.sortedIndex(this.models,model,iterator,context);}});var methods=['forEach','each','map','collect','reduce','foldl','inject','reduceRight','foldr','find','detect','filter','select','reject','every','all','some','any','include','contains','invoke','max','min','toArray','size','first','head','take','initial','rest','tail','drop','last','without','indexOf','shuffle','lastIndexOf','isEmpty','chain'];_.each(methods,function(method){Collection.prototype[method]=function(){var args=slice.call(arguments);args.unshift(this.models);return _[method].apply(_,args);};});var attributeMethods=['groupBy','countBy','sortBy'];_.each(attributeMethods,function(method){Collection.prototype[method]=function(value,context){var iterator=_.isFunction(value)?value:function(model){return model.get(value);};return _[method](this.models,iterator,context);};});var Router=Backbone.Router=function(options){options||(options={});if(options.routes)this.routes=options.routes;this._bindRoutes();this.initialize.apply(this,arguments);};var optionalParam=/\((.*?)\)/g;var namedParam=/(\(\?)?:\w+/g;var splatParam=/\*\w+/g;var escapeRegExp=/[\-{}\[\]+?.,\\\^$|#\s]/g;_.extend(Router.prototype,Events,{initialize:function(){},route:function(route,name,callback){if(!_.isRegExp(route))route=this._routeToRegExp(route);if(!callback)callback=this[name];Backbone.history.route(route,_.bind(function(fragment){var args=this._extractParameters(route,fragment);callback&&callback.apply(this,args);this.trigger.apply(this,['route:'+name].concat(args));this.trigger('route',name,args);Backbone.history.trigger('route',this,name,args);},this));return this;},navigate:function(fragment,options){Backbone.history.navigate(fragment,options);return this;},_bindRoutes:function(){if(!this.routes)return;var route,routes=_.keys(this.routes);while((route=routes.pop())!=null){this.route(route,this.routes[route]);}},_routeToRegExp:function(route){route=route.replace(escapeRegExp,'\\$&').replace(optionalParam,'(?:$1)?').replace(namedParam,function(match,optional){return optional?match:'([^\/]+)';}).replace(splatParam,'(.*?)');return new RegExp('^'+route+'$');},_extractParameters:function(route,fragment){return route.exec(fragment).slice(1);}});var History=Backbone.History=function(){this.handlers=[];_.bindAll(this,'checkUrl');if(typeof window!=='undefined'){this.location=window.location;this.history=window.history;}};var routeStripper=/^[#\/]|\s+$/g;var rootStripper=/^\/+|\/+$/g;var isExplorer=/msie [\w.]+/;var trailingSlash=/\/$/;History.started=false;_.extend(History.prototype,Events,{interval:50,getHash:function(window){var match=(window||this).location.href.match(/#(.*)$/);return match?match[1]:'';},getFragment:function(fragment,forcePushState){if(fragment==null){if(this._hasPushState||!this._wantsHashChange||forcePushState){fragment=this.location.pathname;var root=this.root.replace(trailingSlash,'');if(!fragment.indexOf(root))fragment=fragment.substr(root.length);}else{fragment=this.getHash();}}
return fragment.replace(routeStripper,'');},start:function(options){if(History.started)throw new Error("Backbone.history has already been started");History.started=true;this.options=_.extend({},{root:'/'},this.options,options);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var fragment=this.getFragment();var docMode=document.documentMode;var oldIE=(isExplorer.exec(navigator.userAgent.toLowerCase())&&(!docMode||docMode<=7));this.root=('/'+this.root+'/').replace(rootStripper,'/');if(oldIE&&this._wantsHashChange){this.iframe=Backbone.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo('body')[0].contentWindow;this.navigate(fragment);}
if(this._hasPushState){Backbone.$(window).on('popstate',this.checkUrl);}else if(this._wantsHashChange&&('onhashchange'in window)&&!oldIE){Backbone.$(window).on('hashchange',this.checkUrl);}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval);}
this.fragment=fragment;var loc=this.location;var atRoot=loc.pathname.replace(/[^\/]$/,'$&/')===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!atRoot){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+'#'+this.fragment);return true;}else if(this._wantsPushState&&this._hasPushState&&atRoot&&loc.hash){this.fragment=this.getHash().replace(routeStripper,'');this.history.replaceState({},document.title,this.root+this.fragment+loc.search);}
if(!this.options.silent)return this.loadUrl();},stop:function(){Backbone.$(window).off('popstate',this.checkUrl).off('hashchange',this.checkUrl);clearInterval(this._checkUrlInterval);History.started=false;},route:function(route,callback){this.handlers.unshift({route:route,callback:callback});},checkUrl:function(e){var current=this.getFragment();if(current===this.fragment&&this.iframe){current=this.getFragment(this.getHash(this.iframe));}
if(current===this.fragment)return false;if(this.iframe)this.navigate(current);this.loadUrl()||this.loadUrl(this.getHash());},loadUrl:function(fragmentOverride){var fragment=this.fragment=this.getFragment(fragmentOverride);var matched=_.any(this.handlers,function(handler){if(handler.route.test(fragment)){handler.callback(fragment);return true;}});return matched;},navigate:function(fragment,options){if(!History.started)return false;if(!options||options===true)options={trigger:options};fragment=this.getFragment(fragment||'');if(this.fragment===fragment)return;this.fragment=fragment;var url=this.root+fragment;if(this._hasPushState){this.history[options.replace?'replaceState':'pushState']({},document.title,url);}else if(this._wantsHashChange){this._updateHash(this.location,fragment,options.replace);if(this.iframe&&(fragment!==this.getFragment(this.getHash(this.iframe)))){if(!options.replace)this.iframe.document.open().close();this._updateHash(this.iframe.location,fragment,options.replace);}}else{return this.location.assign(url);}
if(options.trigger)this.loadUrl(fragment);},_updateHash:function(location,fragment,replace){if(replace){var href=location.href.replace(/(javascript:|#).*$/,'');location.replace(href+'#'+fragment);}else{location.hash='#'+fragment;}}});Backbone.history=new History;var View=Backbone.View=function(options){this.cid=_.uniqueId('view');this._configure(options||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents();};var delegateEventSplitter=/^(\S+)\s*(.*)$/;var viewOptions=['model','collection','el','id','attributes','className','tagName','events'];_.extend(View.prototype,Events,{tagName:'div',$:function(selector){return this.$el.find(selector);},initialize:function(){},render:function(){return this;},remove:function(){this.$el.remove();this.stopListening();return this;},setElement:function(element,delegate){if(this.$el)this.undelegateEvents();this.$el=element instanceof Backbone.$?element:Backbone.$(element);this.el=this.$el[0];if(delegate!==false)this.delegateEvents();return this;},delegateEvents:function(events){if(!(events||(events=_.result(this,'events'))))return;this.undelegateEvents();for(var key in events){var method=events[key];if(!_.isFunction(method))method=this[events[key]];if(!method)throw new Error('Method "'+events[key]+'" does not exist');var match=key.match(delegateEventSplitter);var eventName=match[1],selector=match[2];method=_.bind(method,this);eventName+='.delegateEvents'+this.cid;if(selector===''){this.$el.on(eventName,method);}else{this.$el.on(eventName,selector,method);}}},undelegateEvents:function(){this.$el.off('.delegateEvents'+this.cid);},_configure:function(options){if(this.options)options=_.extend({},_.result(this,'options'),options);_.extend(this,_.pick(options,viewOptions));this.options=options;},_ensureElement:function(){if(!this.el){var attrs=_.extend({},_.result(this,'attributes'));if(this.id)attrs.id=_.result(this,'id');if(this.className)attrs['class']=_.result(this,'className');var $el=Backbone.$('<'+_.result(this,'tagName')+'>').attr(attrs);this.setElement($el,false);}else{this.setElement(_.result(this,'el'),false);}}});var methodMap={'create':'POST','update':'PUT','patch':'PATCH','delete':'DELETE','read':'GET'};Backbone.sync=function(method,model,options){var type=methodMap[method];_.defaults(options||(options={}),{emulateHTTP:Backbone.emulateHTTP,emulateJSON:Backbone.emulateJSON});var params={type:type,dataType:'json'};if(!options.url){params.url=_.result(model,'url')||urlError();}
if(options.data==null&&model&&(method==='create'||method==='update'||method==='patch')){params.contentType='application/json';params.data=JSON.stringify(options.attrs||model.toJSON(options));}
if(options.emulateJSON){params.contentType='application/x-www-form-urlencoded';params.data=params.data?{model:params.data}:{};}
if(options.emulateHTTP&&(type==='PUT'||type==='DELETE'||type==='PATCH')){params.type='POST';if(options.emulateJSON)params.data._method=type;var beforeSend=options.beforeSend;options.beforeSend=function(xhr){xhr.setRequestHeader('X-HTTP-Method-Override',type);if(beforeSend)return beforeSend.apply(this,arguments);};}
if(params.type!=='GET'&&!options.emulateJSON){params.processData=false;}
var success=options.success;options.success=function(resp){if(success)success(model,resp,options);model.trigger('sync',model,resp,options);};var error=options.error;options.error=function(xhr){if(error)error(model,xhr,options);model.trigger('error',model,xhr,options);};var xhr=options.xhr=Backbone.ajax(_.extend(params,options));model.trigger('request',model,xhr,options);return xhr;};Backbone.ajax=function(){return Backbone.$.ajax.apply(Backbone.$,arguments);};var extend=function(protoProps,staticProps){var parent=this;var child;if(protoProps&&_.has(protoProps,'constructor')){child=protoProps.constructor;}else{child=function(){return parent.apply(this,arguments);};}
_.extend(child,parent,staticProps);var Surrogate=function(){this.constructor=child;};Surrogate.prototype=parent.prototype;child.prototype=new Surrogate;if(protoProps)_.extend(child.prototype,protoProps);child.__super__=parent.prototype;return child;};Model.extend=Collection.extend=Router.extend=View.extend=History.extend=extend;var urlError=function(){throw new Error('A "url" property or function must be specified');};}).call(this);

/* end /scripts/players/util/backbone-min-0.9.10.js*/

/* start /scripts/players/util/jquery/jquery.tools.min.1.2.7.js*/
(function(a){a.tools=a.tools||{version:"v1.2.7"},a.tools.overlay={addEffect:function(a,b,d){c[a]=[b,d]},conf:{close:null,closeOnClick:!0,closeOnEsc:!0,closeSpeed:"fast",effect:"default",fixed:!a.browser.msie||a.browser.version>6,left:"center",load:!1,mask:null,oneInstance:!0,speed:"normal",target:null,top:"10%"}};var b=[],c={};a.tools.overlay.addEffect("default",function(b,c){var d=this.getConf(),e=a(window);d.fixed||(b.top+=e.scrollTop(),b.left+=e.scrollLeft()),b.position=d.fixed?"fixed":"absolute",this.getOverlay().css(b).fadeIn(d.speed,c)},function(a){this.getOverlay().fadeOut(this.getConf().closeSpeed,a)});function d(d,e){var f=this,g=d.add(f),h=a(window),i,j,k,l=a.tools.expose&&(e.mask||e.expose),m=Math.random().toString().slice(10);l&&(typeof l=="string"&&(l={color:l}),l.closeOnClick=l.closeOnEsc=!1);var n=e.target||d.attr("rel");j=n?a(n):null||d;if(!j.length)throw"Could not find Overlay: "+n;d&&d.index(j)==-1&&d.click(function(a){f.load(a);return a.preventDefault()}),a.extend(f,{load:function(d){if(f.isOpened())return f;var i=c[e.effect];if(!i)throw"Overlay: cannot find effect : \""+e.effect+"\"";e.oneInstance&&a.each(b,function(){this.close(d)}),d=d||a.Event(),d.type="onBeforeLoad",g.trigger(d);if(d.isDefaultPrevented())return f;k=!0,l&&a(j).expose(l);var n=e.top,o=e.left,p=j.outerWidth({margin:!0}),q=j.outerHeight({margin:!0});typeof n=="string"&&(n=n=="center"?Math.max((h.height()-q)/2,0):parseInt(n,10)/100*h.height()),o=="center"&&(o=Math.max((h.width()-p)/2,0)),i[0].call(f,{top:n,left:o},function(){k&&(d.type="onLoad",g.trigger(d))}),l&&e.closeOnClick&&a.mask.getMask().one("click",f.close),e.closeOnClick&&a(document).on("click."+m,function(b){a(b.target).parents(j).length||f.close(b)}),e.closeOnEsc&&a(document).on("keydown."+m,function(a){a.keyCode==27&&f.close(a)});return f},close:function(b){if(!f.isOpened())return f;b=b||a.Event(),b.type="onBeforeClose",g.trigger(b);if(!b.isDefaultPrevented()){k=!1,c[e.effect][1].call(f,function(){b.type="onClose",g.trigger(b)}),a(document).off("click."+m+" keydown."+m),l&&a.mask.close();return f}},getOverlay:function(){return j},getTrigger:function(){return d},getClosers:function(){return i},isOpened:function(){return k},getConf:function(){return e}}),a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(b,c){a.isFunction(e[c])&&a(f).on(c,e[c]),f[c]=function(b){b&&a(f).on(c,b);return f}}),i=j.find(e.close||".close"),!i.length&&!e.close&&(i=a("<a class=\"close\"></a>"),j.prepend(i)),i.click(function(a){f.close(a)}),e.load&&f.load()}a.fn.overlay=function(c){var e=this.data("overlay");if(e)return e;a.isFunction(c)&&(c={onBeforeLoad:c}),c=a.extend(!0,{},a.tools.overlay.conf,c),this.each(function(){e=new d(a(this),c),b.push(e),a(this).data("overlay",e)});return c.api?e:this}})(jQuery);(function(a){a.tools=a.tools||{version:"v1.2.7"};var b;b=a.tools.rangeinput={conf:{min:0,max:100,step:"any",steps:0,value:0,precision:undefined,vertical:0,keyboard:!0,progress:!1,speed:100,css:{input:"range",slider:"slider",progress:"progress",handle:"handle"}}};var c,d;a.fn.drag=function(b){document.ondragstart=function(){return!1},b=a.extend({x:!0,y:!0,drag:!0},b),c=c||a(document).on("mousedown mouseup",function(e){var f=a(e.target);if(e.type=="mousedown"&&f.data("drag")){var g=f.position(),h=e.pageX-g.left,i=e.pageY-g.top,j=!0;c.on("mousemove.drag",function(a){var c=a.pageX-h,e=a.pageY-i,g={};b.x&&(g.left=c),b.y&&(g.top=e),j&&(f.trigger("dragStart"),j=!1),b.drag&&f.css(g),f.trigger("drag",[e,c]),d=f}),e.preventDefault()}else try{d&&d.trigger("dragEnd")}finally{c.off("mousemove.drag"),d=null}});return this.data("drag",!0)};function e(a,b){var c=Math.pow(10,b);return Math.round(a*c)/c}function f(a,b){var c=parseInt(a.css(b),10);if(c)return c;var d=a[0].currentStyle;return d&&d.width&&parseInt(d.width,10)}function g(a){var b=a.data("events");return b&&b.onSlide}function h(b,c){var d=this,h=c.css,i=a("<div><div/><a href='#'/></div>").data("rangeinput",d),j,k,l,m,n;b.before(i);var o=i.addClass(h.slider).find("a").addClass(h.handle),p=i.find("div").addClass(h.progress);a.each("min,max,step,value".split(","),function(a,d){var e=b.attr(d);parseFloat(e)&&(c[d]=parseFloat(e,10))});var q=c.max-c.min,r=c.step=="any"?0:c.step,s=c.precision;s===undefined&&(s=r.toString().split("."),s=s.length===2?s[1].length:0);if(b.attr("type")=="range"){var t=b.clone().wrap("<div/>").parent().html(),u=a(t.replace(/type/i,"type=text data-orig-type"));u.val(c.value),b.replaceWith(u),b=u}b.addClass(h.input);var v=a(d).add(b),w=!0;function x(a,f,g,h){g===undefined?g=f/m*q:h&&(g-=c.min),r&&(g=Math.round(g/r)*r);if(f===undefined||r)f=g*m/q;if(isNaN(g))return d;f=Math.max(0,Math.min(f,m)),g=f/m*q;if(h||!j)g+=c.min;j&&(h?f=m-f:g=c.max-g),g=e(g,s);var i=a.type=="click";if(w&&k!==undefined&&!i){a.type="onSlide",v.trigger(a,[g,f]);if(a.isDefaultPrevented())return d}var l=i?c.speed:0,t=i?function(){a.type="change",v.trigger(a,[g])}:null;j?(o.animate({top:f},l,t),c.progress&&p.animate({height:m-f+o.height()/2},l)):(o.animate({left:f},l,t),c.progress&&p.animate({width:f+o.width()/2},l)),k=g,n=f,b.val(g);return d}a.extend(d,{getValue:function(){return k},setValue:function(b,c){y();return x(c||a.Event("api"),undefined,b,!0)},getConf:function(){return c},getProgress:function(){return p},getHandle:function(){return o},getInput:function(){return b},step:function(b,e){e=e||a.Event();var f=c.step=="any"?1:c.step;d.setValue(k+f*(b||1),e)},stepUp:function(a){return d.step(a||1)},stepDown:function(a){return d.step(-a||-1)}}),a.each("onSlide,change".split(","),function(b,e){a.isFunction(c[e])&&a(d).on(e,c[e]),d[e]=function(b){b&&a(d).on(e,b);return d}}),o.drag({drag:!1}).on("dragStart",function(){y(),w=g(a(d))||g(b)}).on("drag",function(a,c,d){if(b.is(":disabled"))return!1;x(a,j?c:d)}).on("dragEnd",function(a){a.isDefaultPrevented()||(a.type="change",v.trigger(a,[k]))}).click(function(a){return a.preventDefault()}),i.click(function(a){if(b.is(":disabled")||a.target==o[0])return a.preventDefault();y();var c=j?o.height()/2:o.width()/2;x(a,j?m-l-c+a.pageY:a.pageX-l-c)}),c.keyboard&&b.keydown(function(c){if(!b.attr("readonly")){var e=c.keyCode,f=a([75,76,38,33,39]).index(e)!=-1,g=a([74,72,40,34,37]).index(e)!=-1;if((f||g)&&!(c.shiftKey||c.altKey||c.ctrlKey)){f?d.step(e==33?10:1,c):g&&d.step(e==34?-10:-1,c);return c.preventDefault()}}}),b.blur(function(b){var c=a(this).val();c!==k&&d.setValue(c,b)}),a.extend(b[0],{stepUp:d.stepUp,stepDown:d.stepDown});function y(){j=c.vertical||f(i,"height")>f(i,"width"),j?(m=f(i,"height")-f(o,"height"),l=i.offset().top+m):(m=f(i,"width")-f(o,"width"),l=i.offset().left)}function z(){y(),d.setValue(c.value!==undefined?c.value:c.min)}z(),m||a(window).load(z)}a.expr[":"].range=function(b){var c=b.getAttribute("type");return c&&c=="range"||a(b).filter("input").data("rangeinput")},a.fn.rangeinput=function(c){if(this.data("rangeinput"))return this;c=a.extend(!0,{},b.conf,c);var d;this.each(function(){var b=new h(a(this),a.extend(!0,{},c)),e=b.getInput().data("rangeinput",b);d=d?d.add(e):e});return d?d:this}})(jQuery);(function(a){a.tools=a.tools||{version:"v1.2.7"},a.tools.scrollable={conf:{activeClass:"active",circular:!1,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:"> *",items:".items",keyboard:!0,mousewheel:!1,next:".next",prev:".prev",size:1,speed:400,vertical:!1,touch:!0,wheelSpeed:0}};function b(a,b){var c=parseInt(a.css(b),10);if(c)return c;var d=a[0].currentStyle;return d&&d.width&&parseInt(d.width,10)}function c(b,c){var d=a(c);return d.length<2?d:b.parent().find(c)}var d;function e(b,e){var f=this,g=b.add(f),h=b.children(),i=0,j=e.vertical;d||(d=f),h.length>1&&(h=a(e.items,b)),e.size>1&&(e.circular=!1),a.extend(f,{getConf:function(){return e},getIndex:function(){return i},getSize:function(){return f.getItems().size()},getNaviButtons:function(){return n.add(o)},getRoot:function(){return b},getItemWrap:function(){return h},getItems:function(){return h.find(e.item).not("."+e.clonedClass)},move:function(a,b){return f.seekTo(i+a,b)},next:function(a){return f.move(e.size,a)},prev:function(a){return f.move(-e.size,a)},begin:function(a){return f.seekTo(0,a)},end:function(a){return f.seekTo(f.getSize()-1,a)},focus:function(){d=f;return f},addItem:function(b){b=a(b),e.circular?(h.children().last().before(b),h.children().first().replaceWith(b.clone().addClass(e.clonedClass))):(h.append(b),o.removeClass("disabled")),g.trigger("onAddItem",[b]);return f},seekTo:function(b,c,k){b.jquery||(b*=1);if(e.circular&&b===0&&i==-1&&c!==0)return f;if(!e.circular&&b<0||b>f.getSize()||b<-1)return f;var l=b;b.jquery?b=f.getItems().index(b):l=f.getItems().eq(b);var m=a.Event("onBeforeSeek");if(!k){g.trigger(m,[b,c]);if(m.isDefaultPrevented()||!l.length)return f}var n=j?{top:-l.position().top}:{left:-l.position().left};i=b,d=f,c===undefined&&(c=e.speed),h.animate(n,c,e.easing,k||function(){g.trigger("onSeek",[b])});return f}}),a.each(["onBeforeSeek","onSeek","onAddItem"],function(b,c){a.isFunction(e[c])&&a(f).on(c,e[c]),f[c]=function(b){b&&a(f).on(c,b);return f}});if(e.circular){var k=f.getItems().slice(-1).clone().prependTo(h),l=f.getItems().eq(1).clone().appendTo(h);k.add(l).addClass(e.clonedClass),f.onBeforeSeek(function(a,b,c){if(!a.isDefaultPrevented()){if(b==-1){f.seekTo(k,c,function(){f.end(0)});return a.preventDefault()}b==f.getSize()&&f.seekTo(l,c,function(){f.begin(0)})}});var m=b.parents().add(b).filter(function(){if(a(this).css("display")==="none")return!0});m.length?(m.show(),f.seekTo(0,0,function(){}),m.hide()):f.seekTo(0,0,function(){})}var n=c(b,e.prev).click(function(a){a.stopPropagation(),f.prev()}),o=c(b,e.next).click(function(a){a.stopPropagation(),f.next()});e.circular||(f.onBeforeSeek(function(a,b){setTimeout(function(){a.isDefaultPrevented()||(n.toggleClass(e.disabledClass,b<=0),o.toggleClass(e.disabledClass,b>=f.getSize()-1))},1)}),e.initialIndex||n.addClass(e.disabledClass)),f.getSize()<2&&n.add(o).addClass(e.disabledClass),e.mousewheel&&a.fn.mousewheel&&b.mousewheel(function(a,b){if(e.mousewheel){f.move(b<0?1:-1,e.wheelSpeed||50);return!1}});if(e.touch){var p={};h[0].ontouchstart=function(a){var b=a.touches[0];p.x=b.clientX,p.y=b.clientY},h[0].ontouchmove=function(a){if(a.touches.length==1&&!h.is(":animated")){var b=a.touches[0],c=p.x-b.clientX,d=p.y-b.clientY;f[j&&d>0||!j&&c>0?"next":"prev"](),a.preventDefault()}}}e.keyboard&&a(document).on("keydown.scrollable",function(b){if(!(!e.keyboard||b.altKey||b.ctrlKey||b.metaKey||a(b.target).is(":input"))){if(e.keyboard!="static"&&d!=f)return;var c=b.keyCode;if(j&&(c==38||c==40)){f.move(c==38?-1:1);return b.preventDefault()}if(!j&&(c==37||c==39)){f.move(c==37?-1:1);return b.preventDefault()}}}),e.initialIndex&&f.seekTo(e.initialIndex,0,function(){})}a.fn.scrollable=function(b){var c=this.data("scrollable");if(c)return c;b=a.extend({},a.tools.scrollable.conf,b),this.each(function(){c=new e(a(this),b),a(this).data("scrollable",c)});return b.api?c:this}})(jQuery);(function(a){var b=a.tools.scrollable;b.autoscroll={conf:{autoplay:!0,interval:3e3,autopause:!0}},a.fn.autoscroll=function(c){typeof c=="number"&&(c={interval:c});var d=a.extend({},b.autoscroll.conf,c),e;this.each(function(){var b=a(this).data("scrollable"),c=b.getRoot(),f,g=!1;function h(){f&&clearTimeout(f),f=setTimeout(function(){b.next()},d.interval)}b&&(e=b),b.play=function(){f||(g=!1,c.on("onSeek",h),h())},b.pause=function(){f=clearTimeout(f),c.off("onSeek",h)},b.resume=function(){g||b.play()},b.stop=function(){g=!0,b.pause()},d.autopause&&c.add(b.getNaviButtons()).hover(b.pause,b.resume),d.autoplay&&b.play()});return d.api?e:this}})(jQuery);(function(a){a.tools=a.tools||{version:"v1.2.7"},a.tools.tabs={conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialEffect:!1,initialIndex:0,event:"click",rotate:!1,slideUpSpeed:400,slideDownSpeed:400,history:!1},addEffect:function(a,c){b[a]=c}};var b={"default":function(a,b){this.getPanes().hide().eq(a).show(),b.call()},fade:function(a,b){var c=this.getConf(),d=c.fadeOutSpeed,e=this.getPanes();d?e.fadeOut(d):e.hide(),e.eq(a).fadeIn(c.fadeInSpeed,b)},slide:function(a,b){var c=this.getConf();this.getPanes().slideUp(c.slideUpSpeed),this.getPanes().eq(a).slideDown(c.slideDownSpeed,b)},ajax:function(a,b){this.getPanes().eq(0).load(this.getTabs().eq(a).attr("href"),b)}},c,d;a.tools.tabs.addEffect("horizontal",function(b,e){if(!c){var f=this.getPanes().eq(b),g=this.getCurrentPane();d||(d=this.getPanes().eq(0).width()),c=!0,f.show(),g.animate({width:0},{step:function(a){f.css("width",d-a)},complete:function(){a(this).hide(),e.call(),c=!1}}),g.length||(e.call(),c=!1)}});function e(c,d,e){var f=this,g=c.add(this),h=c.find(e.tabs),i=d.jquery?d:c.children(d),j;h.length||(h=c.children()),i.length||(i=c.parent().find(d)),i.length||(i=a(d)),a.extend(this,{click:function(d,i){var k=h.eq(d),l=!c.data("tabs");typeof d=="string"&&d.replace("#","")&&(k=h.filter("[href*=\""+d.replace("#","")+"\"]"),d=Math.max(h.index(k),0));if(e.rotate){var m=h.length-1;if(d<0)return f.click(m,i);if(d>m)return f.click(0,i)}if(!k.length){if(j>=0)return f;d=e.initialIndex,k=h.eq(d)}if(d===j)return f;i=i||a.Event(),i.type="onBeforeClick",g.trigger(i,[d]);if(!i.isDefaultPrevented()){var n=l?e.initialEffect&&e.effect||"default":e.effect;b[n].call(f,d,function(){j=d,i.type="onClick",g.trigger(i,[d])}),h.removeClass(e.current),k.addClass(e.current);return f}},getConf:function(){return e},getTabs:function(){return h},getPanes:function(){return i},getCurrentPane:function(){return i.eq(j)},getCurrentTab:function(){return h.eq(j)},getIndex:function(){return j},next:function(){return f.click(j+1)},prev:function(){return f.click(j-1)},destroy:function(){h.off(e.event).removeClass(e.current),i.find("a[href^=\"#\"]").off("click.T");return f}}),a.each("onBeforeClick,onClick".split(","),function(b,c){a.isFunction(e[c])&&a(f).on(c,e[c]),f[c]=function(b){b&&a(f).on(c,b);return f}}),e.history&&a.fn.history&&(a.tools.history.init(h),e.event="history"),h.each(function(b){a(this).on(e.event,function(a){f.click(b,a);return a.preventDefault()})}),i.find("a[href^=\"#\"]").on("click.T",function(b){f.click(a(this).attr("href"),b)}),location.hash&&e.tabs=="a"&&c.find("[href=\""+location.hash+"\"]").length?f.click(location.hash):(e.initialIndex===0||e.initialIndex>0)&&f.click(e.initialIndex)}a.fn.tabs=function(b,c){var d=this.data("tabs");d&&(d.destroy(),this.removeData("tabs")),a.isFunction(c)&&(c={onBeforeClick:c}),c=a.extend({},a.tools.tabs.conf,c),this.each(function(){d=new e(a(this),b,c),a(this).data("tabs",d)});return c.api?d:this}})(jQuery);(function(a){a.tools=a.tools||{version:"v1.2.7"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.on(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).on(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.off(p[0]).on(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.off(p[1]).on(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).on(c,e[c]),f[c]=function(b){b&&a(f).on(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery);(function(a){var b=a.tools.tooltip;b.dynamic={conf:{classNames:"top right bottom left"}};function c(b){var c=a(window),d=c.width()+c.scrollLeft(),e=c.height()+c.scrollTop();return[b.offset().top<=c.scrollTop(),d<=b.offset().left+b.width(),e<=b.offset().top+b.height(),c.scrollLeft()>=b.offset().left]}function d(a){var b=a.length;while(b--)if(a[b])return!1;return!0}a.fn.dynamic=function(e){typeof e=="number"&&(e={speed:e}),e=a.extend({},b.dynamic.conf,e);var f=a.extend(!0,{},e),g=e.classNames.split(/\s/),h;this.each(function(){var b=a(this).tooltip().onBeforeShow(function(b,e){var i=this.getTip(),j=this.getConf();h||(h=[j.position[0],j.position[1],j.offset[0],j.offset[1],a.extend({},j)]),a.extend(j,h[4]),j.position=[h[0],h[1]],j.offset=[h[2],h[3]],i.css({visibility:"hidden",position:"absolute",top:e.top,left:e.left}).show();var k=a.extend(!0,{},f),l=c(i);if(!d(l)){l[2]&&(a.extend(j,k.top),j.position[0]="top",i.addClass(g[0])),l[3]&&(a.extend(j,k.right),j.position[1]="right",i.addClass(g[1])),l[0]&&(a.extend(j,k.bottom),j.position[0]="bottom",i.addClass(g[2])),l[1]&&(a.extend(j,k.left),j.position[1]="left",i.addClass(g[3]));if(l[0]||l[2])j.offset[0]*=-1;if(l[1]||l[3])j.offset[1]*=-1}i.css({visibility:"visible"}).hide()});b.onBeforeShow(function(){var a=this.getConf(),b=this.getTip();setTimeout(function(){a.position=[h[0],h[1]],a.offset=[h[2],h[3]]},0)}),b.onHide(function(){var a=this.getTip();a.removeClass(e.classNames)}),ret=b});return e.api?ret:this}})(jQuery);

/* end /scripts/players/util/jquery/jquery.tools.min.1.2.7.js*/

/* start /scripts/players/util/jquery/jquery.autosuggest.js*/
(function($){$.fn.autoSuggest=function(data,options){var defaults={asHtmlID:false,startText:i18n.autosuggest.startText.characterSearch,emptyText:i18n.autosuggest.emptyText.noCharactersFound,preFill:{},limitText:i18n.autosuggest.limitText.noMore,selectedItemProp:"value",selectedValuesProp:"value",searchObjProps:"value",queryParam:"q",retrieveLimit:false,extraParams:"",matchCase:false,minChars:1,keyDelay:400,resultsHighlight:true,neverSubmit:false,selectionLimit:false,showResultList:true,start:function(){},selectionClick:function(elem){},selectionAdded:function(elem){},selectionRemoved:function(elem){elem.remove();},formatList:false,beforeRetrieve:function(string){return"^"+string.toLowerCase();},retrieveComplete:function(data){return data;},resultClick:function(data){var selectedResultLink=$('li.active a').attr('href');window.location=selectedResultLink;},resultsComplete:function(){}};var opts=$.extend(defaults,options);var d_type="object";var d_count=0;if(typeof data=="string"){d_type="string";var req_string=data;}else{var org_data=data;for(k in data)if(data.hasOwnProperty(k))d_count++;}
if((d_type=="object"&&d_count>0)||d_type=="string"){return this.each(function(x){if(!opts.asHtmlID){x=x+""+Math.floor(Math.random()*100);var x_id="as-input-"+x;}else{x=opts.asHtmlID;var x_id=x;}
opts.start.call(this);var input=$(this);input.attr("autocomplete","off").addClass("as-input").attr("id",x_id).val(opts.startText);var input_focus=false;input.wrap('<ul class="as-selections" id="as-selections-'+x+'"></ul>').wrap('<li class="as-original" id="as-original-'+x+'"></li>');var selections_holder=$("#as-selections-"+x);var org_li=$("#as-original-"+x);var results_holder=$('<div class="as-results" id="as-results-'+x+'"></div>').hide();var results_ul=$('<ul class="as-list"></ul>');var values_input=$('<input type="hidden" class="as-values" name="as_values_'+x+'" id="as-values-'+x+'" />');var prefill_value="";if(typeof opts.preFill=="string"){var vals=opts.preFill.split(",");for(var i=0;i<vals.length;i++){var v_data={};v_data[opts.selectedValuesProp]=vals[i];if(vals[i]!=""){add_selected_item(v_data,"000"+i);}}
prefill_value=opts.preFill;}else{prefill_value="";var prefill_count=0;for(k in opts.preFill)if(opts.preFill.hasOwnProperty(k))prefill_count++;if(prefill_count>0){for(var i=0;i<prefill_count;i++){var new_v=opts.preFill[i][opts.selectedValuesProp];if(new_v==undefined){new_v="";}
prefill_value=prefill_value+new_v+",";if(new_v!=""){add_selected_item(opts.preFill[i],"000"+i);}}}}
if(prefill_value!=""){input.val("");var lastChar=prefill_value.substring(prefill_value.length-1);if(lastChar!=","){prefill_value=prefill_value+",";}
values_input.val(","+prefill_value);$("li.as-selection-item",selections_holder).addClass("blur").removeClass("selected");}
input.after(values_input);selections_holder.click(function(){input_focus=true;input.focus();}).mousedown(function(){input_focus=false;}).after(results_holder);var timeout=null;var prev="";var totalSelections=0;var tab_press=false;var forceBlur=function(e){if(e.target.id!==input.attr('id')){results_holder.hide();}};input.focus(function(){if($(this).val()==opts.startText&&values_input.val()==""){$(this).val("");}else if(input_focus){$("li.as-selection-item",selections_holder).removeClass("blur");if($(this).val()!=""){results_ul.css("width",selections_holder.outerWidth());results_holder.show();$(window).on('click',forceBlur);}}
input_focus=true;return true;}).blur(function(){if($(this).val()==""&&values_input.val()==""&&prefill_value==""){$(this).val(opts.startText);}else if(input_focus){$("li.as-selection-item",selections_holder).addClass("blur").removeClass("selected");results_holder.hide();$(window).off('click',forceBlur);}}).keydown(function(e){lastKeyPressCode=e.keyCode;first_focus=false;switch(e.keyCode){case 38:e.preventDefault();moveSelection("up");break;case 40:e.preventDefault();moveSelection("down");break;case 8:if(input.val()==""){var last=values_input.val().split(",");last=last[last.length-2];selections_holder.children().not(org_li.prev()).removeClass("selected");if(org_li.prev().hasClass("selected")){values_input.val(values_input.val().replace(","+last+",",","));opts.selectionRemoved.call(this,org_li.prev());}else{opts.selectionClick.call(this,org_li.prev());org_li.prev().addClass("selected");}}
if(input.val().length==1){results_holder.hide();$(window).off('click',forceBlur);prev="";}
if($(":visible",results_holder).length>0){if(timeout){clearTimeout(timeout);}
timeout=setTimeout(function(){keyChange();},opts.keyDelay);}
break;case 9:case 188:tab_press=true;var i_input=input.val().replace(/(,)/g,"");if(i_input!=""&&values_input.val().search(","+i_input+",")<0&&i_input.length>=opts.minChars){e.preventDefault();var n_data={};n_data[opts.selectedItemProp]=i_input;n_data[opts.selectedValuesProp]=i_input;var lis=$("li",selections_holder).length;add_selected_item(n_data,"00"+(lis+1));input.val("");}
case 13:tab_press=false;var active=$("li.active:first",results_holder);if(active.length>0){active.mousedown().click();results_holder.hide();$(window).off('click',forceBlur);}else{var currentInput=$('*:focus').attr('id');var searchStringVal=$("#"+currentInput).val();var charId=app.contextCharacter?app.contextCharacter.toJSON().id:undefined;if(opts.pageType=='character'){(charId)?app.router.navigate("/!/"+charId+"/search/"+searchStringVal,{trigger:true,replace:true}):app.router.navigate("/!/search/"+searchStringVal,{trigger:true,replace:true});}else if(opts.pageType=='outfit'){app.router.navigate("/!/outfit/?name="+encodeURIComponent(searchStringVal),{trigger:true});}}
if(opts.neverSubmit||active.length>0){e.preventDefault();}
break;default:if(opts.showResultList){if(opts.selectionLimit&&$("li.as-selection-item",selections_holder).length>=opts.selectionLimit){results_ul.html('<li class="as-message">'+opts.limitText+'</li>');results_holder.show();$(window).on('click',forceBlur);}else{if(timeout){clearTimeout(timeout);}
timeout=setTimeout(function(){keyChange();},opts.keyDelay);}}
break;}});function keyChange(){if(lastKeyPressCode==46||(lastKeyPressCode>8&&lastKeyPressCode<32)){return results_holder.hide();$(window).off('click',forceBlur);}
var string=input.val().replace(/[\\]+|[\/]+/g,"");if(string==prev)return;prev=string;if(string.length>=opts.minChars){selections_holder.addClass("loading");if(d_type=="string"){var limit="";var caseSensitive='';if(opts.retrieveLimit){limit="&c:limit="+encodeURIComponent(opts.retrieveLimit);}
if(opts.beforeRetrieve){string=opts.beforeRetrieve.call(this,string);}
if(opts.pageType=='outfit'){caseSensitive='&c:case=false'}
$.getJSON(req_string+opts.queryParam+"="+encodeURIComponent(string)+caseSensitive+limit+opts.extraParams,function(data){opts.totalResults=data.returned;if(opts.totalResults>99){opts.totalResults='<em>100+ '+i18n.autosuggest.results+'</em>';}else{opts.totalResults='<em>'+opts.totalResults+' '+i18n.autosuggest.results+'</em>';}
d_count=0;var new_data=opts.retrieveComplete.call(this,data);for(k in new_data)if(new_data.hasOwnProperty(k))d_count++;processData(new_data,string);});}else{if(opts.beforeRetrieve){string=opts.beforeRetrieve.call(this,string);}
processData(org_data,string);}}else{selections_holder.removeClass("loading");results_holder.hide();$(window).off('click',forceBlur);}};var num_count=0;function processData(data,query){if(!opts.matchCase){query=query.toLowerCase();}
var matchCount=0;results_holder.html(results_ul.html("")).hide();$(window).off('click',forceBlur);for(var i=0;i<d_count;i++){var num=i;num_count++;var forward=false;if(opts.searchObjProps=="value"){var str=data[num].value;}else{var str="";var names=opts.searchObjProps.split(",");for(var y=0;y<names.length;y++){var name=$.trim(names[y]);str=str+data[num][name]+" ";}}
if(str){if(!opts.matchCase){str=str.toLowerCase();}
if(str.search(query)!=-1&&values_input.val().search(","+data[num][opts.selectedValuesProp]+",")==-1){forward=true;}}
if(forward){var formatted=$('<li class="as-result-item" id="as-result-item-'+num+'"></li>').click(function(){var raw_data=$(this).data("data");var number=raw_data.num;if($("#as-selection-"+number,selections_holder).length<=0&&!tab_press){var data=raw_data.attributes;input.val("").focus();prev="";add_selected_item(data,number);opts.resultClick.call(this,raw_data);results_holder.hide();$(window).off('click',forceBlur);}
tab_press=false;}).mousedown(function(){input_focus=false;}).mouseover(function(){$("li",results_ul).removeClass("active");$(this).addClass("active");}).data("data",{attributes:data[num],num:num_count});var this_data=$.extend({},data[num]);if(!opts.matchCase){var regx=new RegExp("(?![^&;]+;)(?!<[^<>]*)("+query+")(?![^<>]*>)(?![^&;]+;)","gi");}else{var regx=new RegExp("(?![^&;]+;)(?!<[^<>]*)("+query+")(?![^<>]*>)(?![^&;]+;)","g");}
if(opts.resultsHighlight){this_data[opts.selectedItemProp]=this_data[opts.selectedItemProp].replace(regx,"<em>$1</em>");}
if(!opts.formatList){formatted=formatted.html(this_data[opts.selectedItemProp]);}else{formatted=opts.formatList.call(this,this_data,formatted);}
results_ul.append(formatted);delete this_data;matchCount++;if(opts.retrieveLimit&&opts.retrieveLimit==matchCount){break;}}}
selections_holder.removeClass("loading");if(matchCount<=0){results_ul.html('<li class="as-message">'+opts.emptyText+'</li>');}else{if(opts.pageType=='character'){var searchStringID=$("#"+opts.asHtmlID).val();window.searchStringID=searchStringID;this.$searchLink=$("<li class='as-search-link'><a href='"+appSettings.playerRootUrl+"/#!/search/"+searchStringID+"'>"+i18n.autosuggest.searchFor+" \""+$("#"+opts.asHtmlID).val()+"\"...</a></li>");this.$searchLink.bind('click mousedown',function(){var charId=app.contextCharacter?app.contextCharacter.toJSON().id:undefined;(charId)?app.router.navigate("/!/"+charId+"/search/"+searchStringID,{trigger:true,replace:true}):app.router.navigate("/!/search/"+searchStringID,{trigger:true,replace:true});});this.$searchLink.mouseover(function(){$("li",results_ul).removeClass("active");$(this).addClass("active");$(this).trigger('focus');});results_ul.append($searchLink);}else if(opts.pageType=='outfit'){var searchStringID=$("#"+opts.asHtmlID).val();window.searchStringID=searchStringID;this.$searchLink=$("<li class='as-search-link'><a href='"+appSettings.playerRootUrl+"/#!/outfits/?outfit="+searchStringID+"'>"+i18n.autosuggest.searchFor+" \""+$("#"+opts.asHtmlID).val()+"\"... "+opts.totalResults+"</a></li>");this.$searchLink.bind('click mousedown',function(){var charId=app.contextCharacter?app.contextCharacter.toJSON().id:undefined;app.router.navigate("/!/outfit/?name="+searchStringID,{trigger:true,replace:true});});this.$searchLink.mouseover(function(){$("li",results_ul).removeClass("active");$(this).addClass("active");$(this).trigger('focus');});results_ul.append($searchLink);}}
results_ul.css("width",selections_holder.outerWidth());results_holder.show();$(window).on('click',forceBlur);opts.resultsComplete.call(this);};function add_selected_item(data,num){var item=$('<li class="as-selection-item" id="as-selection-'+num+'"></li>').click(function(){opts.selectionClick.call(this,$(this));selections_holder.children().removeClass("selected");$(this).addClass("selected");}).mousedown(function(){input_focus=false;});};function moveSelection(direction){if($(":visible",results_holder).length>0){var lis=$("li",results_holder);if(direction=="down"){var start=lis.eq(0);}else{var start=lis.filter(":last");}
var active=$("li.active:first",results_holder);if(active.length>0){if(direction=="down"){start=active.next();}else{start=active.prev();}}
lis.removeClass("active");start.addClass("active");}};});}};})(jQuery);

/* end /scripts/players/util/jquery/jquery.autosuggest.js*/

/* start /scripts/players/util/jquery/jquery.jscrollpane.min.js*/
/*
 * jScrollPane - v2.0.0beta11 - 2011-07-04
 * http://jscrollpane.kelvinluck.com/
 *
 * Copyright (c) 2010 Kelvin Luck
 * Dual licensed under the MIT and GPL licenses.
 */
(function(b,a,c){b.fn.jScrollPane=function(e){function d(D,O){var az,Q=this,Y,ak,v,am,T,Z,y,q,aA,aF,av,i,I,h,j,aa,U,aq,X,t,A,ar,af,an,G,l,au,ay,x,aw,aI,f,L,aj=true,P=true,aH=false,k=false,ap=D.clone(false,false).empty(),ac=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aI=D.css("paddingTop")+" "+D.css("paddingRight")+" "+D.css("paddingBottom")+" "+D.css("paddingLeft");f=(parseInt(D.css("paddingLeft"),10)||0)+(parseInt(D.css("paddingRight"),10)||0);function at(aR){var aM,aO,aN,aK,aJ,aQ,aP=false,aL=false;az=aR;if(Y===c){aJ=D.scrollTop();aQ=D.scrollLeft();D.css({overflow:"hidden",padding:0});ak=D.innerWidth()+f;v=D.innerHeight();D.width(ak);Y=b('<div class="jspPane" />').css("padding",aI).append(D.children());am=b('<div class="jspContainer" />').css({width:ak+"px",height:v+"px"}).append(Y).appendTo(D)}else{D.css("width","");aP=az.stickToBottom&&K();aL=az.stickToRight&&B();aK=D.innerWidth()+f!=ak||D.outerHeight()!=v;if(aK){ak=D.innerWidth()+f;v=D.innerHeight();am.css({width:ak+"px",height:v+"px"})}if(!aK&&L==T&&Y.outerHeight()==Z){D.width(ak);return}L=T;Y.css("width","");D.width(ak);am.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}Y.css("overflow","auto");if(aR.contentWidth){T=aR.contentWidth}else{T=Y[0].scrollWidth}Z=Y[0].scrollHeight;Y.css("overflow","");y=T/ak;q=Z/v;aA=q>1;aF=y>1;if(!(aF||aA)){D.removeClass("jspScrollable");Y.css({top:0,width:am.width()-f});n();E();R();w();ai()}else{D.addClass("jspScrollable");aM=az.maintainPosition&&(I||aa);if(aM){aO=aD();aN=aB()}aG();z();F();if(aM){N(aL?(T-ak):aO,false);M(aP?(Z-v):aN,false)}J();ag();ao();if(az.enableKeyboardNavigation){S()}if(az.clickOnTrack){p()}C();if(az.hijackInternalLinks){m()}}if(az.autoReinitialise&&!aw){aw=setInterval(function(){at(az)},az.autoReinitialiseDelay)}else{if(!az.autoReinitialise&&aw){clearInterval(aw)}}aJ&&D.scrollTop(0)&&M(aJ,false);aQ&&D.scrollLeft(0)&&N(aQ,false);D.trigger("jsp-initialised",[aF||aA])}function aG(){if(aA){am.append(b('<div class="jspVerticalBar" />').append(b('<div class="jspCap jspCapTop" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragTop" />'),b('<div class="jspDragBottom" />'))),b('<div class="jspCap jspCapBottom" />')));U=am.find(">.jspVerticalBar");aq=U.find(">.jspTrack");av=aq.find(">.jspDrag");if(az.showArrows){ar=b('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp",aE(0,-1)).bind("click.jsp",aC);af=b('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp",aE(0,1)).bind("click.jsp",aC);if(az.arrowScrollOnHover){ar.bind("mouseover.jsp",aE(0,-1,ar));af.bind("mouseover.jsp",aE(0,1,af))}al(aq,az.verticalArrowPositions,ar,af)}t=v;am.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){t-=b(this).outerHeight()});av.hover(function(){av.addClass("jspHover")},function(){av.removeClass("jspHover")}).bind("mousedown.jsp",function(aJ){b("html").bind("dragstart.jsp selectstart.jsp",aC);av.addClass("jspActive");var s=aJ.pageY-av.position().top;b("html").bind("mousemove.jsp",function(aK){V(aK.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",ax);return false});o()}}function o(){aq.height(t+"px");I=0;X=az.verticalGutter+aq.outerWidth();Y.width(ak-X-f);try{if(U.position().left===0){Y.css("margin-left",X+"px")}}catch(s){}}function z(){if(aF){am.append(b('<div class="jspHorizontalBar" />').append(b('<div class="jspCap jspCapLeft" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragLeft" />'),b('<div class="jspDragRight" />'))),b('<div class="jspCap jspCapRight" />')));an=am.find(">.jspHorizontalBar");G=an.find(">.jspTrack");h=G.find(">.jspDrag");if(az.showArrows){ay=b('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp",aE(-1,0)).bind("click.jsp",aC);x=b('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp",aE(1,0)).bind("click.jsp",aC);
if(az.arrowScrollOnHover){ay.bind("mouseover.jsp",aE(-1,0,ay));x.bind("mouseover.jsp",aE(1,0,x))}al(G,az.horizontalArrowPositions,ay,x)}h.hover(function(){h.addClass("jspHover")},function(){h.removeClass("jspHover")}).bind("mousedown.jsp",function(aJ){b("html").bind("dragstart.jsp selectstart.jsp",aC);h.addClass("jspActive");var s=aJ.pageX-h.position().left;b("html").bind("mousemove.jsp",function(aK){W(aK.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",ax);return false});l=am.innerWidth();ah()}}function ah(){am.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){l-=b(this).outerWidth()});G.width(l+"px");aa=0}function F(){if(aF&&aA){var aJ=G.outerHeight(),s=aq.outerWidth();t-=aJ;b(an).find(">.jspCap:visible,>.jspArrow").each(function(){l+=b(this).outerWidth()});l-=s;v-=s;ak-=aJ;G.parent().append(b('<div class="jspCorner" />').css("width",aJ+"px"));o();ah()}if(aF){Y.width((am.outerWidth()-f)+"px")}Z=Y.outerHeight();q=Z/v;if(aF){au=Math.ceil(1/y*l);if(au>az.horizontalDragMaxWidth){au=az.horizontalDragMaxWidth}else{if(au<az.horizontalDragMinWidth){au=az.horizontalDragMinWidth}}h.width(au+"px");j=l-au;ae(aa)}if(aA){A=Math.ceil(1/q*t);if(A>az.verticalDragMaxHeight){A=az.verticalDragMaxHeight}else{if(A<az.verticalDragMinHeight){A=az.verticalDragMinHeight}}av.height(A+"px");i=t-A;ad(I)}}function al(aK,aM,aJ,s){var aO="before",aL="after",aN;if(aM=="os"){aM=/Mac/.test(navigator.platform)?"after":"split"}if(aM==aO){aL=aM}else{if(aM==aL){aO=aM;aN=aJ;aJ=s;s=aN}}aK[aO](aJ)[aL](s)}function aE(aJ,s,aK){return function(){H(aJ,s,this,aK);this.blur();return false}}function H(aM,aL,aP,aO){aP=b(aP).addClass("jspActive");var aN,aK,aJ=true,s=function(){if(aM!==0){Q.scrollByX(aM*az.arrowButtonSpeed)}if(aL!==0){Q.scrollByY(aL*az.arrowButtonSpeed)}aK=setTimeout(s,aJ?az.initialDelay:az.arrowRepeatFreq);aJ=false};s();aN=aO?"mouseout.jsp":"mouseup.jsp";aO=aO||b("html");aO.bind(aN,function(){aP.removeClass("jspActive");aK&&clearTimeout(aK);aK=null;aO.unbind(aN)})}function p(){w();if(aA){aq.bind("mousedown.jsp",function(aO){if(aO.originalTarget===c||aO.originalTarget==aO.currentTarget){var aM=b(this),aP=aM.offset(),aN=aO.pageY-aP.top-I,aK,aJ=true,s=function(){var aS=aM.offset(),aT=aO.pageY-aS.top-A/2,aQ=v*az.scrollPagePercent,aR=i*aQ/(Z-v);if(aN<0){if(I-aR>aT){Q.scrollByY(-aQ)}else{V(aT)}}else{if(aN>0){if(I+aR<aT){Q.scrollByY(aQ)}else{V(aT)}}else{aL();return}}aK=setTimeout(s,aJ?az.initialDelay:az.trackClickRepeatFreq);aJ=false},aL=function(){aK&&clearTimeout(aK);aK=null;b(document).unbind("mouseup.jsp",aL)};s();b(document).bind("mouseup.jsp",aL);return false}})}if(aF){G.bind("mousedown.jsp",function(aO){if(aO.originalTarget===c||aO.originalTarget==aO.currentTarget){var aM=b(this),aP=aM.offset(),aN=aO.pageX-aP.left-aa,aK,aJ=true,s=function(){var aS=aM.offset(),aT=aO.pageX-aS.left-au/2,aQ=ak*az.scrollPagePercent,aR=j*aQ/(T-ak);if(aN<0){if(aa-aR>aT){Q.scrollByX(-aQ)}else{W(aT)}}else{if(aN>0){if(aa+aR<aT){Q.scrollByX(aQ)}else{W(aT)}}else{aL();return}}aK=setTimeout(s,aJ?az.initialDelay:az.trackClickRepeatFreq);aJ=false},aL=function(){aK&&clearTimeout(aK);aK=null;b(document).unbind("mouseup.jsp",aL)};s();b(document).bind("mouseup.jsp",aL);return false}})}}function w(){if(G){G.unbind("mousedown.jsp")}if(aq){aq.unbind("mousedown.jsp")}}function ax(){b("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");if(av){av.removeClass("jspActive")}if(h){h.removeClass("jspActive")}}function V(s,aJ){if(!aA){return}if(s<0){s=0}else{if(s>i){s=i}}if(aJ===c){aJ=az.animateScroll}if(aJ){Q.animate(av,"top",s,ad)}else{av.css("top",s);ad(s)}}function ad(aJ){if(aJ===c){aJ=av.position().top}am.scrollTop(0);I=aJ;var aM=I===0,aK=I==i,aL=aJ/i,s=-aL*(Z-v);if(aj!=aM||aH!=aK){aj=aM;aH=aK;D.trigger("jsp-arrow-change",[aj,aH,P,k])}u(aM,aK);Y.css("top",s);D.trigger("jsp-scroll-y",[-s,aM,aK]).trigger("scroll")}function W(aJ,s){if(!aF){return}if(aJ<0){aJ=0}else{if(aJ>j){aJ=j}}if(s===c){s=az.animateScroll}if(s){Q.animate(h,"left",aJ,ae)
}else{h.css("left",aJ);ae(aJ)}}function ae(aJ){if(aJ===c){aJ=h.position().left}am.scrollTop(0);aa=aJ;var aM=aa===0,aL=aa==j,aK=aJ/j,s=-aK*(T-ak);if(P!=aM||k!=aL){P=aM;k=aL;D.trigger("jsp-arrow-change",[aj,aH,P,k])}r(aM,aL);Y.css("left",s);D.trigger("jsp-scroll-x",[-s,aM,aL]).trigger("scroll")}function u(aJ,s){if(az.showArrows){ar[aJ?"addClass":"removeClass"]("jspDisabled");af[s?"addClass":"removeClass"]("jspDisabled")}}function r(aJ,s){if(az.showArrows){ay[aJ?"addClass":"removeClass"]("jspDisabled");x[s?"addClass":"removeClass"]("jspDisabled")}}function M(s,aJ){var aK=s/(Z-v);V(aK*i,aJ)}function N(aJ,s){var aK=aJ/(T-ak);W(aK*j,s)}function ab(aW,aR,aK){var aO,aL,aM,s=0,aV=0,aJ,aQ,aP,aT,aS,aU;try{aO=b(aW)}catch(aN){return}aL=aO.outerHeight();aM=aO.outerWidth();am.scrollTop(0);am.scrollLeft(0);while(!aO.is(".jspPane")){s+=aO.position().top;aV+=aO.position().left;aO=aO.offsetParent();if(/^body|html$/i.test(aO[0].nodeName)){return}}aJ=aB();aP=aJ+v;if(s<aJ||aR){aS=s-az.verticalGutter}else{if(s+aL>aP){aS=s-v+aL+az.verticalGutter}}if(aS){M(aS,aK)}aQ=aD();aT=aQ+ak;if(aV<aQ||aR){aU=aV-az.horizontalGutter}else{if(aV+aM>aT){aU=aV-ak+aM+az.horizontalGutter}}if(aU){N(aU,aK)}}function aD(){return -Y.position().left}function aB(){return -Y.position().top}function K(){var s=Z-v;return(s>20)&&(s-aB()<10)}function B(){var s=T-ak;return(s>20)&&(s-aD()<10)}function ag(){am.unbind(ac).bind(ac,function(aM,aN,aL,aJ){var aK=aa,s=I;Q.scrollBy(aL*az.mouseWheelSpeed,-aJ*az.mouseWheelSpeed,false);return aK==aa&&s==I})}function n(){am.unbind(ac)}function aC(){return false}function J(){Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ab(s.target,false)})}function E(){Y.find(":input,a").unbind("focus.jsp")}function S(){var s,aJ,aL=[];aF&&aL.push(an[0]);aA&&aL.push(U[0]);Y.focus(function(){D.focus()});D.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aO){if(aO.target!==this&&!(aL.length&&b(aO.target).closest(aL).length)){return}var aN=aa,aM=I;switch(aO.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aO.keyCode;aK();break;case 35:M(Z-v);s=null;break;case 36:M(0);s=null;break}aJ=aO.keyCode==s&&aN!=aa||aM!=I;return !aJ}).bind("keypress.jsp",function(aM){if(aM.keyCode==s){aK()}return !aJ});if(az.hideFocus){D.css("outline","none");if("hideFocus" in am[0]){D.attr("hideFocus",true)}}else{D.css("outline","");if("hideFocus" in am[0]){D.attr("hideFocus",false)}}function aK(){var aN=aa,aM=I;switch(s){case 40:Q.scrollByY(az.keyboardSpeed,false);break;case 38:Q.scrollByY(-az.keyboardSpeed,false);break;case 34:case 32:Q.scrollByY(v*az.scrollPagePercent,false);break;case 33:Q.scrollByY(-v*az.scrollPagePercent,false);break;case 39:Q.scrollByX(az.keyboardSpeed,false);break;case 37:Q.scrollByX(-az.keyboardSpeed,false);break}aJ=aN!=aa||aM!=I;return aJ}}function R(){D.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function C(){if(location.hash&&location.hash.length>1){var aL,aJ,aK=escape(location.hash);try{aL=b(aK)}catch(s){return}if(aL.length&&Y.find(aK)){if(am.scrollTop()===0){aJ=setInterval(function(){if(am.scrollTop()>0){ab(aK,true);b(document).scrollTop(am.position().top);clearInterval(aJ)}},50)}else{ab(aK,true);b(document).scrollTop(am.position().top)}}}}function ai(){b("a.jspHijack").unbind("click.jsp-hijack").removeClass("jspHijack")}function m(){ai();b("a[href^=#]").addClass("jspHijack").bind("click.jsp-hijack",function(){var s=this.href.split("#"),aJ;if(s.length>1){aJ=s[1];if(aJ.length>0&&Y.find("#"+aJ).length>0){ab("#"+aJ,true);return false}}})}function ao(){var aK,aJ,aM,aL,aN,s=false;am.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aO){var aP=aO.originalEvent.touches[0];aK=aD();aJ=aB();aM=aP.pageX;aL=aP.pageY;aN=false;s=true}).bind("touchmove.jsp",function(aR){if(!s){return}var aQ=aR.originalEvent.touches[0],aP=aa,aO=I;Q.scrollTo(aK+aM-aQ.pageX,aJ+aL-aQ.pageY);aN=aN||Math.abs(aM-aQ.pageX)>5||Math.abs(aL-aQ.pageY)>5;
return aP==aa&&aO==I}).bind("touchend.jsp",function(aO){s=false}).bind("click.jsp-touchclick",function(aO){if(aN){aN=false;return false}})}function g(){var s=aB(),aJ=aD();D.removeClass("jspScrollable").unbind(".jsp");D.replaceWith(ap.append(Y.children()));ap.scrollTop(s);ap.scrollLeft(aJ)}b.extend(Q,{reinitialise:function(aJ){aJ=b.extend({},az,aJ);at(aJ)},scrollToElement:function(aK,aJ,s){ab(aK,aJ,s)},scrollTo:function(aK,s,aJ){N(aK,aJ);M(s,aJ)},scrollToX:function(aJ,s){N(aJ,s)},scrollToY:function(s,aJ){M(s,aJ)},scrollToPercentX:function(aJ,s){N(aJ*(T-ak),s)},scrollToPercentY:function(aJ,s){M(aJ*(Z-v),s)},scrollBy:function(aJ,s,aK){Q.scrollByX(aJ,aK);Q.scrollByY(s,aK)},scrollByX:function(s,aK){var aJ=aD()+Math[s<0?"floor":"ceil"](s),aL=aJ/(T-ak);W(aL*j,aK)},scrollByY:function(s,aK){var aJ=aB()+Math[s<0?"floor":"ceil"](s),aL=aJ/(Z-v);V(aL*i,aK)},positionDragX:function(s,aJ){W(s,aJ)},positionDragY:function(aJ,s){V(aJ,s)},animate:function(aJ,aM,s,aL){var aK={};aK[aM]=s;aJ.animate(aK,{duration:az.animateDuration,easing:az.animateEase,queue:false,step:aL})},getContentPositionX:function(){return aD()},getContentPositionY:function(){return aB()},getContentWidth:function(){return T},getContentHeight:function(){return Z},getPercentScrolledX:function(){return aD()/(T-ak)},getPercentScrolledY:function(){return aB()/(Z-v)},getIsScrollableH:function(){return aF},getIsScrollableV:function(){return aA},getContentPane:function(){return Y},scrollToBottom:function(s){V(i,s)},hijackInternalLinks:function(){m()},destroy:function(){g()}});at(O)}e=b.extend({},b.fn.jScrollPane.defaults,e);b.each(["mouseWheelSpeed","arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){e[this]=e[this]||e.speed});return this.each(function(){var f=b(this),g=f.data("jsp");if(g){g.reinitialise(e)}else{g=new d(f,e);f.data("jsp",g)}})};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:0,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this);

/* end /scripts/players/util/jquery/jquery.jscrollpane.min.js*/

/* start /scripts/players/util/jquery/jquery.mousewheel.js*/
(function($){var types=['DOMMouseScroll','mousewheel'];if($.event.fixHooks){for(var i=types.length;i;){$.event.fixHooks[types[--i]]=$.event.mouseHooks;}}
$.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var i=types.length;i;){this.addEventListener(types[--i],handler,false);}}else{this.onmousewheel=handler;}},teardown:function(){if(this.removeEventListener){for(var i=types.length;i;){this.removeEventListener(types[--i],handler,false);}}else{this.onmousewheel=null;}}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel");},unmousewheel:function(fn){return this.unbind("mousewheel",fn);}});function handler(event){var orgEvent=event||window.event,args=[].slice.call(arguments,1),delta=0,returnValue=true,deltaX=0,deltaY=0;event=$.event.fix(orgEvent);event.type="mousewheel";if(orgEvent.wheelDelta){delta=orgEvent.wheelDelta/120;}
if(orgEvent.detail){delta=-orgEvent.detail/3;}
deltaY=delta;if(orgEvent.axis!==undefined&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS){deltaY=0;deltaX=-1*delta;}
if(orgEvent.wheelDeltaY!==undefined){deltaY=orgEvent.wheelDeltaY/120;}
if(orgEvent.wheelDeltaX!==undefined){deltaX=-1*orgEvent.wheelDeltaX/120;}
args.unshift(event,delta,deltaX,deltaY);return($.event.dispatch||$.event.handle).apply(this,args);}})(jQuery);

/* end /scripts/players/util/jquery/jquery.mousewheel.js*/

/* start /scripts/players/util/jquery/jquery.cookies.2.2.0.min.js*/
/**
 * Copyright (c) 2005 - 2010, James Auldridge
 * All rights reserved.
 *
 * Licensed under the BSD, MIT, and GPL (your choice!) Licenses:
 *  http://code.google.com/p/cookies/wiki/License
 *
 */
var jaaulde=window.jaaulde||{};jaaulde.utils=jaaulde.utils||{};jaaulde.utils.cookies=(function(){var resolveOptions,assembleOptionsString,parseCookies,constructor,defaultOptions={expiresAt:null,path:'/',domain:null,secure:false};resolveOptions=function(options){var returnValue,expireDate;if(typeof options!=='object'||options===null){returnValue=defaultOptions;}else
{returnValue={expiresAt:defaultOptions.expiresAt,path:defaultOptions.path,domain:defaultOptions.domain,secure:defaultOptions.secure};if(typeof options.expiresAt==='object'&&options.expiresAt instanceof Date){returnValue.expiresAt=options.expiresAt;}else if(typeof options.hoursToLive==='number'&&options.hoursToLive!==0){expireDate=new Date();expireDate.setTime(expireDate.getTime()+(options.hoursToLive*60*60*1000));returnValue.expiresAt=expireDate;}if(typeof options.path==='string'&&options.path!==''){returnValue.path=options.path;}if(typeof options.domain==='string'&&options.domain!==''){returnValue.domain=options.domain;}if(options.secure===true){returnValue.secure=options.secure;}}return returnValue;};assembleOptionsString=function(options){options=resolveOptions(options);return((typeof options.expiresAt==='object'&&options.expiresAt instanceof Date?'; expires='+options.expiresAt.toGMTString():'')+'; path='+options.path+(typeof options.domain==='string'?'; domain='+options.domain:'')+(options.secure===true?'; secure':''));};parseCookies=function(){var cookies={},i,pair,name,value,separated=document.cookie.split(';'),unparsedValue;for(i=0;i<separated.length;i=i+1){pair=separated[i].split('=');name=pair[0].replace(/^\s*/,'').replace(/\s*$/,'');try
{value=decodeURIComponent(pair[1]);}catch(e1){value=pair[1];}if(typeof JSON==='object'&&JSON!==null&&typeof JSON.parse==='function'){try
{unparsedValue=value;value=JSON.parse(value);}catch(e2){value=unparsedValue;}}cookies[name]=value;}return cookies;};constructor=function(){};constructor.prototype.get=function(cookieName){var returnValue,item,cookies=parseCookies();if(typeof cookieName==='string'){returnValue=(typeof cookies[cookieName]!=='undefined')?cookies[cookieName]:null;}else if(typeof cookieName==='object'&&cookieName!==null){returnValue={};for(item in cookieName){if(typeof cookies[cookieName[item]]!=='undefined'){returnValue[cookieName[item]]=cookies[cookieName[item]];}else
{returnValue[cookieName[item]]=null;}}}else
{returnValue=cookies;}return returnValue;};constructor.prototype.filter=function(cookieNameRegExp){var cookieName,returnValue={},cookies=parseCookies();if(typeof cookieNameRegExp==='string'){cookieNameRegExp=new RegExp(cookieNameRegExp);}for(cookieName in cookies){if(cookieName.match(cookieNameRegExp)){returnValue[cookieName]=cookies[cookieName];}}return returnValue;};constructor.prototype.set=function(cookieName,value,options){if(typeof options!=='object'||options===null){options={};}if(typeof value==='undefined'||value===null){value='';options.hoursToLive=-8760;}else if(typeof value!=='string'){if(typeof JSON==='object'&&JSON!==null&&typeof JSON.stringify==='function'){value=JSON.stringify(value);}else
{throw new Error('cookies.set() received non-string value and could not serialize.');}}var optionsString=assembleOptionsString(options);document.cookie=cookieName+'='+encodeURIComponent(value)+optionsString;};constructor.prototype.del=function(cookieName,options){var allCookies={},name;if(typeof options!=='object'||options===null){options={};}if(typeof cookieName==='boolean'&&cookieName===true){allCookies=this.get();}else if(typeof cookieName==='string'){allCookies[cookieName]=true;}for(name in allCookies){if(typeof name==='string'&&name!==''){this.set(name,null,options);}}};constructor.prototype.test=function(){var returnValue=false,testName='cT',testValue='data';this.set(testName,testValue);if(this.get(testName)===testValue){this.del(testName);returnValue=true;}return returnValue;};constructor.prototype.setOptions=function(options){if(typeof options!=='object'){options=null;}defaultOptions=resolveOptions(options);};return new constructor();})();(function(){if(window.jQuery){(function($){$.cookies=jaaulde.utils.cookies;var extensions={cookify:function(options){return this.each(function(){var i,nameAttrs=['name','id'],name,$this=$(this),value;for(i in nameAttrs){if(!isNaN(i)){name=$this.attr(nameAttrs[i]);if(typeof name==='string'&&name!==''){if($this.is(':checkbox, :radio')){if($this.attr('checked')){value=$this.val();}}else if($this.is(':input')){value=$this.val();}else
{value=$this.html();}if(typeof value!=='string'||value===''){value=null;}$.cookies.set(name,value,options);break;}}}});},cookieFill:function(){return this.each(function(){var n,getN,nameAttrs=['name','id'],name,$this=$(this),value;getN=function(){n=nameAttrs.pop();return!!n;};while(getN()){name=$this.attr(n);if(typeof name==='string'&&name!==''){value=$.cookies.get(name);if(value!==null){if($this.is(':checkbox, :radio')){if($this.val()===value){$this.attr('checked','checked');}else
{$this.removeAttr('checked');}}else if($this.is(':input')){$this.val(value);}else
{$this.html(value);}}break;}}});},cookieBind:function(options){return this.each(function(){var $this=$(this);$this.cookieFill().change(function(){$this.cookify(options);});});}};$.each(extensions,function(i){$.fn[i]=this;});})(window.jQuery);}})();

/* end /scripts/players/util/jquery/jquery.cookies.2.2.0.min.js*/

/* start /scripts/players/util/marionette-1.0.2.js*/
Backbone.ChildViewContainer=function(e,t){var i=function(e){this._views={},this._indexByModel={},this._indexByCollection={},this._indexByCustom={},this._updateLength(),this._addInitialViews(e)};t.extend(i.prototype,{add:function(e,t){var i=e.cid;this._views[i]=e,e.model&&(this._indexByModel[e.model.cid]=i),e.collection&&(this._indexByCollection[e.collection.cid]=i),t&&(this._indexByCustom[t]=i),this._updateLength()},findByModel:function(e){var t=this._indexByModel[e.cid];return this.findByCid(t)},findByCollection:function(e){var t=this._indexByCollection[e.cid];return this.findByCid(t)},findByCustom:function(e){var t=this._indexByCustom[e];return this.findByCid(t)},findByIndex:function(e){return t.values(this._views)[e]},findByCid:function(e){return this._views[e]},remove:function(e){var t=e.cid;e.model&&delete this._indexByModel[e.model.cid],e.collection&&delete this._indexByCollection[e.collection.cid];var i;for(var n in this._indexByCustom)if(this._indexByCustom.hasOwnProperty(n)&&this._indexByCustom[n]===t){i=n;break}i&&delete this._indexByCustom[i],delete this._views[t],this._updateLength()},call:function(e,t){t=Array.prototype.slice.call(arguments,1),this.apply(e,t)},apply:function(e,i){i=i||[],t.each(this._views,function(n){t.isFunction(n[e])&&n[e].apply(n,i)})},_updateLength:function(){this.length=t.size(this._views)},_addInitialViews:function(e){if(e){var t,i,n=e.length;for(i=0;n>i;i++)t=e[i],this.add(t)}}});var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return t.each(n,function(e){i.prototype[e]=function(){var i=t.values(this._views),n=[i].concat(t.toArray(arguments));return t[e].apply(t,n)}}),i}(Backbone,_),Backbone.Wreqr=function(e,t,i){"use strict";var n={};return n.Handlers=function(e,t){var i=function(e){this.options=e,this._wreqrHandlers={},t.isFunction(this.initialize)&&this.initialize(e)};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events,{setHandlers:function(e){t.each(e,function(e,i){var n=null;t.isObject(e)&&!t.isFunction(e)&&(n=e.context,e=e.callback),this.setHandler(i,e,n)},this)},setHandler:function(e,t,i){var n={callback:t,context:i};this._wreqrHandlers[e]=n,this.trigger("handler:add",e,t,i)},hasHandler:function(e){return!!this._wreqrHandlers[e]},getHandler:function(e){var t=this._wreqrHandlers[e];if(!t)throw Error("Handler not found for '"+e+"'");return function(){var e=Array.prototype.slice.apply(arguments);return t.callback.apply(t.context,e)}},removeHandler:function(e){delete this._wreqrHandlers[e]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(e,i),n.CommandStorage=function(){var t=function(e){this.options=e,this._commands={},i.isFunction(this.initialize)&&this.initialize(e)};return i.extend(t.prototype,e.Events,{getCommands:function(e){var t=this._commands[e];return t||(t={command:e,instances:[]},this._commands[e]=t),t},addCommand:function(e,t){var i=this.getCommands(e);i.instances.push(t)},clearCommands:function(e){var t=this.getCommands(e);t.instances=[]}}),t}(),n.Commands=function(e){return e.Handlers.extend({storageType:e.CommandStorage,constructor:function(t){this.options=t||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var i=Array.prototype.slice.call(arguments);e.Handlers.prototype.constructor.apply(this,i)},execute:function(e,t){e=arguments[0],t=Array.prototype.slice.call(arguments,1),this.hasHandler(e)?this.getHandler(e).apply(this,t):this.storage.addCommand(e,t)},_executeCommands:function(e,t,n){var r=this.storage.getCommands(e);i.each(r.instances,function(e){t.apply(n,e)}),this.storage.clearCommands(e)},_initializeStorage:function(e){var t,n=e.storageType||this.storageType;t=i.isFunction(n)?new n:n,this.storage=t}})}(n),n.RequestResponse=function(e){return e.Handlers.extend({request:function(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1);return this.getHandler(e).apply(this,t)}})}(n),n.EventAggregator=function(e,t){var i=function(){};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events),i}(e,i),n}(Backbone,Backbone.Marionette,_);var Marionette=function(e,t,i){"use strict";function n(e){return s.call(e)}function r(e,t){var i=Error(e);throw i.name=t||"Error",i}var o={};t.Marionette=o,o.$=t.$;var s=Array.prototype.slice;return o.extend=t.Model.extend,o.getOption=function(e,t){if(e&&t){var i;return i=e.options&&t in e.options&&void 0!==e.options[t]?e.options[t]:e[t]}},o.triggerMethod=function(){function e(e,t,i){return i.toUpperCase()}var t=/(^|:)(\w)/gi,n=function(n){var r="on"+n.replace(t,e),o=this[r];return this.trigger.apply(this,arguments),i.isFunction(o)?o.apply(this,i.tail(arguments)):void 0};return n}(),o.MonitorDOMRefresh=function(){function e(e){e._isShown=!0,n(e)}function t(e){e._isRendered=!0,n(e)}function n(e){e._isShown&&e._isRendered&&i.isFunction(e.triggerMethod)&&e.triggerMethod("dom:refresh")}return function(i){i.listenTo(i,"show",function(){e(i)}),i.listenTo(i,"render",function(){t(i)})}}(),function(e){function t(e,t,n,o){var s=o.split(/\s+/);i.each(s,function(i){var o=e[i];o||r("Method '"+i+"' was configured as an event handler, but does not exist."),e.listenTo(t,n,o,e)})}function n(e,t,i,n){e.listenTo(t,i,n,e)}function o(e,t,n,r){var o=r.split(/\s+/);i.each(o,function(){var i=e[i];e.stopListening(t,n,i,e)})}function s(e,t,i,n){e.stopListening(t,i,n,e)}function h(e,t,n,r,o){t&&n&&(i.isFunction(n)&&(n=n.call(e)),i.each(n,function(n,s){i.isFunction(n)?r(e,t,s,n):o(e,t,s,n)}))}e.bindEntityEvents=function(e,i,r){h(e,i,r,n,t)},e.unbindEntityEvents=function(e,t,i){h(e,t,i,s,o)}}(o),o.Callbacks=function(){this._deferred=o.$.Deferred(),this._callbacks=[]},i.extend(o.Callbacks.prototype,{add:function(e,t){this._callbacks.push({cb:e,ctx:t}),this._deferred.done(function(i,n){t&&(i=t),e.call(i,n)})},run:function(e,t){this._deferred.resolve(t,e)},reset:function(){var e=this._callbacks;this._deferred=o.$.Deferred(),this._callbacks=[],i.each(e,function(e){this.add(e.cb,e.ctx)},this)}}),o.Controller=function(e){this.triggerMethod=o.triggerMethod,this.options=e||{},i.isFunction(this.initialize)&&this.initialize(this.options)},o.Controller.extend=o.extend,i.extend(o.Controller.prototype,t.Events,{close:function(){this.stopListening(),this.triggerMethod("close"),this.unbind()}}),o.Region=function(e){if(this.options=e||{},this.el=o.getOption(this,"el"),!this.el){var t=Error("An 'el' must be specified for a region.");throw t.name="NoElError",t}if(this.initialize){var i=Array.prototype.slice.apply(arguments);this.initialize.apply(this,i)}},i.extend(o.Region,{buildRegion:function(e,t){var n="string"==typeof e,r="string"==typeof e.selector,o=e.regionType===void 0,s="function"==typeof e;if(!s&&!n&&!r)throw Error("Region must be specified as a Region type, a selector string or an object with selector property");var h,a;n&&(h=e),e.selector&&(h=e.selector),s&&(a=e),!s&&o&&(a=t),e.regionType&&(a=e.regionType);var l=new a({el:h});return e.parentEl&&(l.getEl=function(t){var n=e.parentEl;return i.isFunction(n)&&(n=n()),n.find(t)}),l}}),i.extend(o.Region.prototype,t.Events,{show:function(e){this.ensureEl(),e!==this.currentView?(this.close(),e.render(),this.open(e)):e.render(),o.triggerMethod.call(e,"show"),o.triggerMethod.call(this,"show",e),this.currentView=e},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(e){return o.$(e)},open:function(e){this.$el.empty().append(e.el)},close:function(){var e=this.currentView;e&&!e.isClosed&&(e.close?e.close():e.remove&&e.remove(),o.triggerMethod.call(this,"close"),delete this.currentView)},attachView:function(e){this.currentView=e},reset:function(){this.close(),delete this.$el}}),o.Region.extend=o.extend,o.RegionManager=function(e){var t=e.Controller.extend({constructor:function(t){this._regions={},e.Controller.prototype.constructor.call(this,t)},addRegions:function(e,t){var n={};return i.each(e,function(e,r){"string"==typeof e&&(e={selector:e}),e.selector&&(e=i.defaults({},e,t));var o=this.addRegion(r,e);n[r]=o},this),n},addRegion:function(t,n){var r,o=i.isObject(n),s=i.isString(n),h=!!n.selector;return r=s||o&&h?e.Region.buildRegion(n,e.Region):i.isFunction(n)?e.Region.buildRegion(n,e.Region):n,this._store(t,r),this.triggerMethod("region:add",t,r),r},get:function(e){return this._regions[e]},removeRegion:function(e){var t=this._regions[e];this._remove(e,t)},removeRegions:function(){i.each(this._regions,function(e,t){this._remove(t,e)},this)},closeRegions:function(){i.each(this._regions,function(e){e.close()},this)},close:function(){this.removeRegions();var t=Array.prototype.slice.call(arguments);e.Controller.prototype.close.apply(this,t)},_store:function(e,t){this._regions[e]=t,this.length=i.size(this._regions)},_remove:function(e,t){t.close(),delete this._regions[e],this.triggerMethod("region:remove",e,t)}}),n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return i.each(n,function(e){t.prototype[e]=function(){var t=i.values(this._regions),n=[t].concat(i.toArray(arguments));return i[e].apply(i,n)}}),t}(o),o.TemplateCache=function(e){this.templateId=e},i.extend(o.TemplateCache,{templateCaches:{},get:function(e){var t=this.templateCaches[e];return t||(t=new o.TemplateCache(e),this.templateCaches[e]=t),t.load()},clear:function(){var e,t=n(arguments),i=t.length;if(i>0)for(e=0;i>e;e++)delete this.templateCaches[t[e]];else this.templateCaches={}}}),i.extend(o.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var e=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(e),this.compiledTemplate},loadTemplate:function(e){var t=o.$(e).html();return t&&0!==t.length||r("Could not find template: '"+e+"'","NoTemplateError"),t},compileTemplate:function(e){return i.template(e)}}),o.Renderer={render:function(e,t){var i="function"==typeof e?e:o.TemplateCache.get(e);return i(t)}},o.View=t.View.extend({constructor:function(){i.bindAll(this,"render");var e=Array.prototype.slice.apply(arguments);t.View.prototype.constructor.apply(this,e),o.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled,this)},triggerMethod:o.triggerMethod,getTemplate:function(){return o.getOption(this,"template")},mixinTemplateHelpers:function(e){e=e||{};var t=this.templateHelpers;return i.isFunction(t)&&(t=t.call(this)),i.extend(e,t)},configureTriggers:function(){if(this.triggers){var e={},t=i.result(this,"triggers");return i.each(t,function(t,i){e[i]=function(e){e&&e.preventDefault&&e.preventDefault(),e&&e.stopPropagation&&e.stopPropagation();var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(t,i)}},this),e}},delegateEvents:function(e){this._delegateDOMEvents(e),o.bindEntityEvents(this,this.model,o.getOption(this,"modelEvents")),o.bindEntityEvents(this,this.collection,o.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(e){e=e||this.events,i.isFunction(e)&&(e=e.call(this));var n={},r=this.configureTriggers();i.extend(n,e,r),t.View.prototype.delegateEvents.call(this,n)},undelegateEvents:function(){var e=Array.prototype.slice.call(arguments);t.View.prototype.undelegateEvents.apply(this,e),o.unbindEntityEvents(this,this.model,o.getOption(this,"modelEvents")),o.unbindEntityEvents(this,this.collection,o.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var e=this.triggerMethod("before:close");e!==!1&&(this.isClosed=!0,this.triggerMethod("close"),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var e=i.result(this,"_uiBindings");this.ui={},i.each(i.keys(e),function(t){var i=e[t];this.ui[t]=this.$(i)},this)}},unbindUIElements:function(){this.ui&&(i.each(this.ui,function(e,t){delete this.ui[t]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),o.ItemView=o.View.extend({constructor:function(){o.View.prototype.constructor.apply(this,n(arguments))},serializeData:function(){var e={};return this.model?e=this.model.toJSON():this.collection&&(e={items:this.collection.toJSON()}),e},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var e=this.serializeData();e=this.mixinTemplateHelpers(e);var t=this.getTemplate(),i=o.Renderer.render(t,e);return this.$el.html(i),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),o.View.prototype.close.apply(this,n(arguments)),this.triggerMethod("item:closed"))}}),o.CollectionView=o.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),o.View.prototype.constructor.apply(this,n(arguments)),this._initialEvents()},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this.render,this))},addChildView:function(e){this.closeEmptyView();var t=this.getItemView(e),i=this.collection.indexOf(e);this.addItemView(e,t,i)},onShowCalled:function(){this.children.each(function(e){o.triggerMethod.call(e,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.closeEmptyView(),this.closeChildren(),this.collection&&this.collection.length>0?this.showCollection():this.showEmptyView()},showCollection:function(){var e;this.collection.each(function(t,i){e=this.getItemView(t),this.addItemView(t,e,i)},this)},showEmptyView:function(){var e=o.getOption(this,"emptyView");if(e&&!this._showingEmptyView){this._showingEmptyView=!0;var i=new t.Model;this.addItemView(i,e,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getItemView:function(){var e=o.getOption(this,"itemView");return e||r("An `itemView` must be specified","NoItemViewError"),e},addItemView:function(e,t,n){var r=o.getOption(this,"itemViewOptions");i.isFunction(r)&&(r=r.call(this,e,n));var s=this.buildItemView(e,t,r);this.addChildViewEventForwarding(s),this.triggerMethod("before:item:added",s),this.children.add(s),this.renderItemView(s,n),this._isShown&&o.triggerMethod.call(s,"show"),this.triggerMethod("after:item:added",s)},addChildViewEventForwarding:function(e){var t=o.getOption(this,"itemViewEventPrefix");this.listenTo(e,"all",function(){var i=n(arguments);i[0]=t+":"+i[0],i.splice(1,0,e),o.triggerMethod.apply(this,i)},this)},renderItemView:function(e,t){e.render(),this.appendHtml(this,e,t)},buildItemView:function(e,t,n){var r=i.extend({model:e},n);return new t(r)},removeItemView:function(e){var t=this.children.findByModel(e);this.removeChildView(t),this.checkEmpty()},removeChildView:function(e){e&&(this.stopListening(e),e.close?e.close():e.remove&&e.remove(),this.children.remove(e)),this.triggerMethod("item:removed",e)},checkEmpty:function(){this.collection&&0!==this.collection.length||this.showEmptyView()},appendHtml:function(e,t){e.$el.append(t.el)},_initChildViewStorage:function(){this.children=new t.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),o.View.prototype.close.apply(this,n(arguments)))},closeChildren:function(){this.children.each(function(e){this.removeChildView(e)},this),this.checkEmpty()}}),o.CompositeView=o.CollectionView.extend({constructor:function(){o.CollectionView.apply(this,n(arguments)),this.itemView=this.getItemView()},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this._renderChildren,this))},getItemView:function(){var e=o.getOption(this,"itemView")||this.constructor;return e||r("An `itemView` must be specified","NoItemViewError"),e},serializeData:function(){var e={};return this.model&&(e=this.model.toJSON()),e},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var e=this.renderModel();return this.$el.html(e),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(o.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var e={};e=this.serializeData(),e=this.mixinTemplateHelpers(e);var t=this.getTemplate();return o.Renderer.render(t,e)},appendHtml:function(e,t){var i=this.getItemViewContainer(e);i.append(t.el)},getItemViewContainer:function(e){if("$itemViewContainer"in e)return e.$itemViewContainer;var t;if(e.itemViewContainer){var n=i.result(e,"itemViewContainer");t=e.$(n),0>=t.length&&r("The specified `itemViewContainer` was not found: "+e.itemViewContainer,"ItemViewContainerMissingError")}else t=e.$el;return e.$itemViewContainer=t,t},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),o.Layout=o.ItemView.extend({regionType:o.Region,constructor:function(e){e=e||{},this._firstRender=!0,this._initializeRegions(e),o.ItemView.call(this,e)},render:function(){this._firstRender?this._firstRender=!1:this.isClosed?this._initializeRegions():this._reInitializeRegions();var e=Array.prototype.slice.apply(arguments),t=o.ItemView.prototype.render.apply(this,e);return t},close:function(){if(!this.isClosed){this.regionManager.close();var e=Array.prototype.slice.apply(arguments);o.ItemView.prototype.close.apply(this,e)}},addRegion:function(e,t){var i={};return i[e]=t,this.addRegions(i)[e]},addRegions:function(e){return this.regions=i.extend(this.regions||{},e),this._buildRegions(e)},removeRegion:function(e){return this.regionManager.removeRegion(e)},_buildRegions:function(e){var t=this,i={parentEl:function(){return t.$el}};return this.regionManager.addRegions(e,i)},_initializeRegions:function(e){var t;this._initRegionManager(),t=i.isFunction(this.regions)?this.regions(e):this.regions||{},this.addRegions(t)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(e){e.reset()})},_initRegionManager:function(){this.regionManager=new o.RegionManager,this.listenTo(this.regionManager,"region:add",function(e,t){this[e]=t,this.trigger("region:add",e,t)}),this.listenTo(this.regionManager,"region:remove",function(e,t){delete this[e],this.trigger("region:remove",e,t)})}}),o.AppRouter=t.Router.extend({constructor:function(e){if(t.Router.prototype.constructor.apply(this,n(arguments)),this.options=e,this.appRoutes){var i=o.getOption(this,"controller");this.processAppRoutes(i,this.appRoutes)}},processAppRoutes:function(e,t){var n=i.keys(t).reverse();i.each(n,function(n){var r=t[n],o=e[r];if(!o)throw Error("Method '"+r+"' was not found on the controller");this.route(n,r,i.bind(o,e))},this)}}),o.Application=function(e){this._initRegionManager(),this._initCallbacks=new o.Callbacks,this.vent=new t.Wreqr.EventAggregator,this.commands=new t.Wreqr.Commands,this.reqres=new t.Wreqr.RequestResponse,this.submodules={},i.extend(this,e),this.triggerMethod=o.triggerMethod},i.extend(o.Application.prototype,t.Events,{execute:function(){var e=Array.prototype.slice.apply(arguments);this.commands.execute.apply(this.commands,e)},request:function(){var e=Array.prototype.slice.apply(arguments);return this.reqres.request.apply(this.reqres,e)},addInitializer:function(e){this._initCallbacks.add(e)},start:function(e){this.triggerMethod("initialize:before",e),this._initCallbacks.run(e,this),this.triggerMethod("initialize:after",e),this.triggerMethod("start",e)},addRegions:function(e){return this._regionManager.addRegions(e)},removeRegion:function(e){this._regionManager.removeRegion(e)},module:function(){var e=n(arguments);return e.unshift(this),o.Module.create.apply(o.Module,e)},_initRegionManager:function(){this._regionManager=new o.RegionManager,this.listenTo(this._regionManager,"region:add",function(e,t){this[e]=t}),this.listenTo(this._regionManager,"region:remove",function(e){delete this[e]})}}),o.Application.extend=o.extend,o.Module=function(e,t){this.moduleName=e,this.submodules={},this._setupInitializersAndFinalizers(),this.app=t,this.startWithParent=!0,this.triggerMethod=o.triggerMethod},i.extend(o.Module.prototype,t.Events,{addInitializer:function(e){this._initializerCallbacks.add(e)},addFinalizer:function(e){this._finalizerCallbacks.add(e)},start:function(e){this._isInitialized||(i.each(this.submodules,function(t){t.startWithParent&&t.start(e)}),this.triggerMethod("before:start",e),this._initializerCallbacks.run(e,this),this._isInitialized=!0,this.triggerMethod("start",e))},stop:function(){this._isInitialized&&(this._isInitialized=!1,o.triggerMethod.call(this,"before:stop"),i.each(this.submodules,function(e){e.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),o.triggerMethod.call(this,"stop"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(e,n){if(e){var r=i.flatten([this,this.app,t,o,o.$,i,n]);e.apply(this,r)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new o.Callbacks,this._finalizerCallbacks=new o.Callbacks}}),i.extend(o.Module,{create:function(e,t,r){var o=e,s=n(arguments);s.splice(0,3),t=t.split(".");var h=t.length,a=[];return a[h-1]=r,i.each(t,function(t,i){var n=o;o=this._getModule(n,t,e),this._addModuleDefinition(n,o,a[i],s)},this),o},_getModule:function(e,t,i){var n=e[t];return n||(n=new o.Module(t,i),e[t]=n,e.submodules[t]=n),n},_addModuleDefinition:function(e,t,n,r){var o,s;i.isFunction(n)?(o=n,s=!0):i.isObject(n)?(o=n.define,s=n.startWithParent):s=!0,o&&t.addDefinition(o,r),t.startWithParent=t.startWithParent&&s,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}}),o}(this,Backbone,_);

/* end /scripts/players/util/marionette-1.0.2.js*/

/* start /scripts/players/push/swfobject.js*/
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return!a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();

/* end /scripts/players/push/swfobject.js*/

/* start /scripts/players/push/web_socket.js*/
(function(){if(window.WebSocket&&!window.WEB_SOCKET_FORCE_FLASH)return;var logger;if(window.WEB_SOCKET_LOGGER){logger=WEB_SOCKET_LOGGER;}else if(window.console&&window.console.log&&window.console.error){logger=window.console;}else{logger={log:function(){},error:function(){}};}
if(swfobject.getFlashPlayerVersion().major<10){logger.error("Flash Player >= 10.0.0 is required.");return;}
if(location.protocol=="file:"){logger.error("WARNING: web-socket-js doesn't work in file:///... URL "+"unless you set Flash Security Settings properly. "+"Open the page via Web server i.e. http://...");}
WebSocket=function(url,protocols,proxyHost,proxyPort,headers){var self=this;self.__id=WebSocket.__nextId++;WebSocket.__instances[self.__id]=self;self.readyState=WebSocket.CONNECTING;self.bufferedAmount=0;self.__events={};if(!protocols){protocols=[];}else if(typeof protocols=="string"){protocols=[protocols];}
self.__createTask=setTimeout(function(){WebSocket.__addTask(function(){self.__createTask=null;WebSocket.__flash.create(self.__id,url,protocols,proxyHost||null,proxyPort||0,headers||null);});},0);};WebSocket.prototype.send=function(data){if(this.readyState==WebSocket.CONNECTING){throw"INVALID_STATE_ERR: Web Socket connection has not been established";}
var result=WebSocket.__flash.send(this.__id,encodeURIComponent(data));if(result<0){return true;}else{this.bufferedAmount+=result;return false;}};WebSocket.prototype.close=function(){if(this.__createTask){clearTimeout(this.__createTask);this.__createTask=null;this.readyState=WebSocket.CLOSED;return;}
if(this.readyState==WebSocket.CLOSED||this.readyState==WebSocket.CLOSING){return;}
this.readyState=WebSocket.CLOSING;WebSocket.__flash.close(this.__id);};WebSocket.prototype.addEventListener=function(type,listener,useCapture){if(!(type in this.__events)){this.__events[type]=[];}
this.__events[type].push(listener);};WebSocket.prototype.removeEventListener=function(type,listener,useCapture){if(!(type in this.__events))return;var events=this.__events[type];for(var i=events.length-1;i>=0;--i){if(events[i]===listener){events.splice(i,1);break;}}};WebSocket.prototype.dispatchEvent=function(event){var events=this.__events[event.type]||[];for(var i=0;i<events.length;++i){events[i](event);}
var handler=this["on"+event.type];if(handler)handler.apply(this,[event]);};WebSocket.prototype.__handleEvent=function(flashEvent){if("readyState"in flashEvent){this.readyState=flashEvent.readyState;}
if("protocol"in flashEvent){this.protocol=flashEvent.protocol;}
var jsEvent;if(flashEvent.type=="open"||flashEvent.type=="error"){jsEvent=this.__createSimpleEvent(flashEvent.type);}else if(flashEvent.type=="close"){jsEvent=this.__createSimpleEvent("close");jsEvent.wasClean=flashEvent.wasClean?true:false;jsEvent.code=flashEvent.code;jsEvent.reason=flashEvent.reason;}else if(flashEvent.type=="message"){var data=decodeURIComponent(flashEvent.message);jsEvent=this.__createMessageEvent("message",data);}else{throw"unknown event type: "+flashEvent.type;}
this.dispatchEvent(jsEvent);};WebSocket.prototype.__createSimpleEvent=function(type){if(document.createEvent&&window.Event){var event=document.createEvent("Event");event.initEvent(type,false,false);return event;}else{return{type:type,bubbles:false,cancelable:false};}};WebSocket.prototype.__createMessageEvent=function(type,data){if(document.createEvent&&window.MessageEvent&&!window.opera){var event=document.createEvent("MessageEvent");event.initMessageEvent("message",false,false,data,null,null,window,null);return event;}else{return{type:type,data:data,bubbles:false,cancelable:false};}};WebSocket.CONNECTING=0;WebSocket.OPEN=1;WebSocket.CLOSING=2;WebSocket.CLOSED=3;WebSocket.__flash=null;WebSocket.__instances={};WebSocket.__tasks=[];WebSocket.__nextId=0;WebSocket.loadFlashPolicyFile=function(url){WebSocket.__addTask(function(){WebSocket.__flash.loadManualPolicyFile(url);});};WebSocket.__initialize=function(){if(WebSocket.__flash)return;if(WebSocket.__swfLocation){window.WEB_SOCKET_SWF_LOCATION=WebSocket.__swfLocation;}
if(!window.WEB_SOCKET_SWF_LOCATION){logger.error("[WebSocket] set WEB_SOCKET_SWF_LOCATION to location of WebSocketMain.swf");return;}
if(!window.WEB_SOCKET_SUPPRESS_CROSS_DOMAIN_SWF_ERROR&&!WEB_SOCKET_SWF_LOCATION.match(/(^|\/)WebSocketMainInsecure\.swf(\?.*)?$/)&&WEB_SOCKET_SWF_LOCATION.match(/^\w+:\/\/([^\/]+)/)){var swfHost=RegExp.$1;if(location.host!=swfHost){logger.error("[WebSocket] You must host HTML and WebSocketMain.swf in the same host "+"('"+location.host+"' != '"+swfHost+"'). "+"See also 'How to host HTML file and SWF file in different domains' section "+"in README.md. If you use WebSocketMainInsecure.swf, you can suppress this message "+"by WEB_SOCKET_SUPPRESS_CROSS_DOMAIN_SWF_ERROR = true;");}}
var container=document.createElement("div");container.id="webSocketContainer";container.style.position="absolute";if(WebSocket.__isFlashLite()){container.style.left="0px";container.style.top="0px";}else{container.style.left="-100px";container.style.top="-100px";}
var holder=document.createElement("div");holder.id="webSocketFlash";container.appendChild(holder);document.body.appendChild(container);swfobject.embedSWF(WEB_SOCKET_SWF_LOCATION,"webSocketFlash","1","1","10.0.0",null,null,{hasPriority:true,swliveconnect:true,allowScriptAccess:"always"},null,function(e){if(!e.success){logger.error("[WebSocket] swfobject.embedSWF failed");}});};WebSocket.__onFlashInitialized=function(){setTimeout(function(){WebSocket.__flash=document.getElementById("webSocketFlash");WebSocket.__flash.setCallerUrl(location.href);WebSocket.__flash.setDebug(!!window.WEB_SOCKET_DEBUG);for(var i=0;i<WebSocket.__tasks.length;++i){WebSocket.__tasks[i]();}
WebSocket.__tasks=[];},0);};WebSocket.__onFlashEvent=function(){setTimeout(function(){try{var events=WebSocket.__flash.receiveEvents();for(var i=0;i<events.length;++i){WebSocket.__instances[events[i].webSocketId].__handleEvent(events[i]);}}catch(e){logger.error(e);}},0);return true;};WebSocket.__log=function(message){logger.log(decodeURIComponent(message));};WebSocket.__error=function(message){logger.error(decodeURIComponent(message));};WebSocket.__addTask=function(task){if(WebSocket.__flash){task();}else{WebSocket.__tasks.push(task);}};WebSocket.__isFlashLite=function(){if(!window.navigator||!window.navigator.mimeTypes){return false;}
var mimeType=window.navigator.mimeTypes["application/x-shockwave-flash"];if(!mimeType||!mimeType.enabledPlugin||!mimeType.enabledPlugin.filename){return false;}
return mimeType.enabledPlugin.filename.match(/flashlite/i)?true:false;};if(!window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION){if(window.addEventListener){window.addEventListener("load",function(){WebSocket.__initialize();},false);}else{window.attachEvent("onload",function(){WebSocket.__initialize();});}}})();

/* end /scripts/players/push/web_socket.js*/

/* start /scripts/players/util/eventDispatcher.js*/
function EventDispatcher(){var dispatcher=_.extend({},Backbone.Events);dispatcher.on('receivedGameEvent',function(eventdata){var gameeventdata=eventdata.payload.GameEvent;var eventname=['FacilityControl','GainExperience','Death','BattleRankUp','ItemAdded','PlayerLogout','PlayerLogin','SkillAdded'];if($.inArray(gameeventdata.event_name,eventname)>-1){if(gameeventdata.event_name!="ItemAdded"||gameeventdata.data_list.context!="InitProfile"){if(gameeventdata.event_name=="FacilityControl"){if(gameeventdata.data_list.faction_new!==gameeventdata.data_list.faction_old){this.trigger('receivedMapFacilityEvent',gameeventdata);}else{this.trigger('reveivedMapFacilityDefence',gameeventdata);}}
if(gameeventdata.event_name=='PlayerLogin'){dispatcher.trigger('friendLogin',gameeventdata);}
if(gameeventdata.event_name=='PlayerLogout'){dispatcher.trigger('friendLogout',gameeventdata);}
if(gameeventdata.event_name=='GainExperience'&&gameeventdata.data_list.experience_id=="0"){}
this.trigger('dispatchedGameEvent',gameeventdata);}}});dispatcher.on('receivedCharacterChange',function(charID){this.trigger('characterChanged-event',charID);});dispatcher.on('viewChanged',function(viewName){this.trigger('viewChanged-event',viewName);});dispatcher.on('battleRankTableLoaded',function(battleRankTable){this.trigger('battleRankTable-ready',battleRankTable);});dispatcher.on('worldsLoaded',function(worldsTable){this.trigger('worldsTable-ready',worldsTable);});dispatcher.on('itemsLoaded',function(itemsTable){this.trigger('itemsTable-ready',itemsTable);});dispatcher.on('vehicleLoaded',function(vehicleTable){this.trigger('vehicleTable-ready',vehicleTable);});dispatcher.on('friendsLoaded',function(friendsList){this.trigger('friendsList-ready',friendsList);});dispatcher.on('activeFriendsLoaded',function(friendsList){this.trigger('active-friendsList-ready',friendsList);});dispatcher.on('friendsStatsLoaded',function(friendsStatsList){this.trigger('friendsStats-ready',friendsStatsList);});dispatcher.on('charWorld-ready',function(world){this.trigger('charWorldLoaded',world);});dispatcher.on('characterWorldsKillsLoaded',function(characterWorldsListKills){this.trigger('characterWorldsListKills-ready',characterWorldsListKills);});dispatcher.on('activeCharChanged',function(activeCharID){this.trigger('activeChar-changed',activeCharID);});dispatcher.on('characterWorldsScoreLoaded',function(characterWorldsListScore){this.trigger('characterWorldsListScore-ready',characterWorldsListScore);});dispatcher.on('characterWorldsTimeLoaded',function(characterWorldsListTime){this.trigger('characterWorldsListTime-ready',characterWorldsListTime);});dispatcher.on('characterHistoricalEventsLoaded',function(eventList){this.trigger('characterHistoricalEvents-ready',eventList);});dispatcher.on('currentLBLoaded',function(stats){this.trigger('currentLBLoaded-ready',stats);});return dispatcher;};

/* end /scripts/players/util/eventDispatcher.js*/

/* start /scripts/players/util/buffer.js*/
function Buffer(fn,options){this.action=fn||null;this.items=(options&&options.items)?options.items:[];this.delay=(options&&options.delay)?options.delay:1000;this.status=false;this.timer;if(this.items.length>0){this.timerController();}};Buffer.prototype.add=function(item){if(Object.prototype.toString.call(item)=='[object Array]'){for(var i=0,len=item.length;i<len;i++){this.items.push(item[i]);}}else{this.items.push(item);}
if(!status){this.timerController();}};Buffer.prototype.timerController=function(){var _this=this;if(_this.items&&_this.items.length>0&&!_this.status&&_this.action){_this.timer=setInterval(function(){_this.action(_this.items.shift());if(_this.items.length===0){_this.timerController();}},_this.delay);_this.status=true;}
else if(_this.status&&_this.items.length===0){_this.status=false;clearInterval(_this.timer);}};Buffer.prototype.clear=function(){console.log(this);this.items=[];this.status=false;clearInterval(this.timer);};Buffer.prototype.setAction=function(fn){this.action=(typeof(fn)=='function')?fn:this.action;};Buffer.prototype.getAction=function(){return this.action;};Buffer.prototype.leftInQueue=function(){return this.items.length;};Buffer.prototype.setDelay=function(time){this.delay=time;};

/* end /scripts/players/util/buffer.js*/

/* start /scripts/players/util/util.js*/
window.PS2=window.PS2||{};PS2.utils=function(){var that={};that.bindPopups=function(){$('.view-content-container').on('click','.modal-trigger',function(){if(!$(this).next('.overlay').length){$(this).after(new PopupView($(this).data('popupOptions')).render().el).popup($(this).data('popupOptions'));}else{$(this).popup($(this).data('popupOptions').popupType);}});$(document).on('click',function(e){if($(e.target).is('.overlay')||$(e.target).is('.modal-trigger')||$('.overlay').has(e.target).length>=1||$('.modal-trigger').has(e.target).length>=1){}else{closeOverlay();}});var closeOverlay=function(){$('.overlay:visible .close').not('.nag').trigger('click');};$('.view-content-container').on('click','.overlay .close',function(){$(this).parents('.overlay').prev().data('overlay').close();});};that.checkDependencies=function(dependency,callback){var neededDependencies=[];_.each(dependency,function(lookupTable){if($.isEmptyObject(appSettings[lookupTable])){neededDependencies.push(lookupTable);}});if(neededDependencies.length!=0){_.each(neededDependencies,function(neededLookup){dispatcher.on(neededLookup+'-ready',function(){for(var i in neededDependencies){if(neededDependencies[i]==neededLookup){neededDependencies.splice(i,1);break;}}
if(neededDependencies.length==0){callback();}});});}else{callback();}};that.addCommas=function(number){number+='';x=number.split('.');x1=x[0];x2=x.length>1?'.'+x[1]:'';var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+','+'$2');}
return x1+x2;};that.getLocaleString=function(string,language,fallback){fallback=fallback||'n/a';if(string&&typeof(string)==='object'){if(string[language]){return string[language];}else{if(string.en){return string.en;}else{return fallback;}}}else{return false;}};that.btnSearch=function(target,urlPrefix){target.click(function(){if(window.searchStringID!==undefined){$(this).attr('href',urlPrefix+window.searchStringID);}});};that.show=function(el){$(el).show();};that.removeNoCharAlert=function(){$('#noCharAlert').fadeOut(300);$('#splashContent').delay(300).fadeIn();};that.carousel=function(selector,options,popup){if(!$(selector).length){return false;}
this.defaults={circular:true,initialIndex:1};options=$.extend({},this.defaults,options);var carouselEmpty=true;var len=$(selector).find('.items > div').length;if(len){carouselEmpty=false;var navi=$(selector).find('.navi');for(var i=0;i<len;i++){if(i==0){navi.append('<a class="active" rel="'+i+'"></a>');}else{navi.append('<a rel="'+i+'"></a>');}}
navi.find('a').click(function(){$(selector).data("scrollable").seekTo($(this).attr('rel'));navi.find('a').removeClass('active');$(this).addClass('active');});$(selector).find('.arrow.left').click(function(){$(selector).data("scrollable").prev();});$(selector).find('.arrow.right').click(function(){$(selector).data("scrollable").next();});}
if(!carouselEmpty){$(selector).scrollable(options).autoscroll({interval:8000});$(selector).data("scrollable").seekTo(0);$(selector).data('scrollable').onSeek(function(){navi.find('a').removeClass('active');navi.find('a').eq(this.getIndex()).addClass('active');$(selector).parents('.attachments').find('.attachment-info .info').hide();$(selector).find('.item img').removeClass('active');});}};that.tabs=function(selector,panes,options){if(!$(selector).length){return false;}
defaults={tabs:'span'};options=$.extend({},defaults,options);$(selector).tabs(panes,options);};that.autoSuggest=function(selector,url,options){var _this=this;if(!$(selector).length){return false;}
defaults={minChars:3,queryParam:options.queryParam,extraParams:options.extraParams,selectedItemProp:"name",searchObjProps:"name",retrieveComplete:function(data){var name='_list';if(options.pageType=='character'){name='_name_list';}
for(var x in data[options.pageType+name]){data[options.pageType+name][x].name=data[options.pageType+name][x].name.first?data[options.pageType+name][x].name.first:data[options.pageType+name][x].name;}
return data[options.pageType+name];},formatList:function(data,elem){if(options.pageType=='character'){var charLink=elem.html("<a href='"+appSettings.playerRootUrl+"/#!/"+data.character_id+"'>"+data.name+"</a>");}else if(options.pageType=='outfit'){var charLink=elem.html("<a href='"+appSettings.playerRootUrl+"/#!/outfits/?outfit="+data.outfit_id+"'>"+data.name+"</a>");}
return charLink;},asHtmlID:options.htmlId,startText:(options.qString)?options.qString:this.startText,resultsComplete:function(){}};options=$.extend({},defaults,options);$(selector).autoSuggest(url,options);};that.wrapElements=function(elements,wrap,size){var x,i=0,c=-1,l=elements.length,n=[];for(i;i<l;i++){(x=i%size)?n[c][x]=elements[i]:n[++c]=[elements[i]];}
l=n.length;for(i=0;i<l;i++){$(n[i]).wrapAll(wrap);}};that.highlightLink=function(selector,selectorWithContext,className){$(selector).removeClass(className);$(selectorWithContext).addClass(className);};that.highlightTableColumn=function(trigger){var table=$(trigger).parents('table');var index;if(table.length>=1){table.each(function(){$(this).find("td").removeClass('active');$(' tr',this).find("td:eq("+$(trigger).index()+")").addClass('active');index=$(trigger).index();});}
return index;};that.convertSecondsToTime=function(secs,asString){var ms=secs*1000;return this.convertMilliToTime(ms,asString);};that.convertMilliToTime=function(ms,asString){var timeObj={};var x=Math.floor(ms/1000);timeObj.seconds=x%60;x=Math.floor(x/60);timeObj.minutes=x%60;x=Math.floor(x/60);timeObj.hours=x;if(timeObj.hours>300){timeObj.days=Math.floor(x/24);timeObj.hours=x%24;}
if(asString){return this.timeObjToString(timeObj);}else{return timeObj;}};that.timeObjToString=function(timeObj){if(timeObj.hasOwnProperty('days')){var timeString=timeObj.days+"d "+timeObj.hours+"h";}else{var timeString=timeObj.hours+"h "+timeObj.minutes+"m";}
return timeString;};that.minutesToHours=function(min){var h=Math.floor(min/60);var m=Math.floor(min-(h*60))+'m';return h+'h '+m;};that.secondsToHours=function(sec){var h=Math.floor(sec/3600);var m=(Math.floor((sec-(h*3600))/60))+'m';return h+'h '+m;};that.isDateRangeValid=function(serverDate,comparatorDate){var isRangeValid={};var timeSinceSunday,serverDateWeekBegin;serverDate=new Date(serverDate*1000);comparatorDate=new Date(comparatorDate*1000);serverDate=new Date(serverDate.setHours(0,0,0,0));comparatorDate=new Date(comparatorDate.setHours(0,0,0,0));timeSinceSunday=(serverDate.getDay()*86400000);serverDateWeekBegin=new Date(serverDate-timeSinceSunday);if(serverDate.getYear()==comparatorDate.getYear()){isRangeValid.year=true;}
if(serverDate.getMonth()==comparatorDate.getMonth()){isRangeValid.month=true;}
if((comparatorDate>=serverDateWeekBegin)){isRangeValid.week=true;}
if(serverDate.getDate()==comparatorDate.getDate()){isRangeValid.day=true;}
isRangeValid.day=isRangeValid.day||false;isRangeValid.week=isRangeValid.week||false;isRangeValid.month=isRangeValid.month||false;isRangeValid.year=isRangeValid.year||false;return isRangeValid;};that.timestampToDate=function(ts,withTime){var mydate=new Date(ts*1000);var sec=mydate.getSeconds();var min=mydate.getMinutes();var hour=mydate.getHours();var hh=hour;var dd='AM';var day=mydate.getDate();var month=[i18n.utils.timestampToDate.month.january,i18n.utils.timestampToDate.month.february,i18n.utils.timestampToDate.month.march,i18n.utils.timestampToDate.month.april,i18n.utils.timestampToDate.month.may,i18n.utils.timestampToDate.month.june,i18n.utils.timestampToDate.month.july,i18n.utils.timestampToDate.month.august,i18n.utils.timestampToDate.month.september,i18n.utils.timestampToDate.month.october,i18n.utils.timestampToDate.month.november,i18n.utils.timestampToDate.month.december][mydate.getMonth()];var year=mydate.getFullYear();min=min<10?"0"+min:min;sec=sec<10?"0"+sec:sec;hour=hour<10?"0"+hour:hour;if(hour>12){hour=hh-12;dd='PM';}
if(hour==12){dd='PM';}
if(withTime){var result=month+' '+day+' '+year+' '+hour+':'+min+':'+sec+' '+dd;}else{var result=month+' '+day+' '+year;}
return result;};that.killboardTimestampToDate=function(ts,withTime){var mydate=new Date(ts*1000);var sec=mydate.getSeconds();var min=mydate.getMinutes();var hour=mydate.getHours();var hh=hour;var dd='AM';var day=mydate.getDate();var month=[i18n.utils.timestampToDate.month.january,i18n.utils.timestampToDate.month.february,i18n.utils.timestampToDate.month.march,i18n.utils.timestampToDate.month.april,i18n.utils.timestampToDate.month.may,i18n.utils.timestampToDate.month.june,i18n.utils.timestampToDate.month.july,i18n.utils.timestampToDate.month.august,i18n.utils.timestampToDate.month.september,i18n.utils.timestampToDate.month.october,i18n.utils.timestampToDate.month.november,i18n.utils.timestampToDate.month.december][mydate.getMonth()];var year=mydate.getFullYear();min=min<10?"0"+min:min;sec=sec<10?"0"+sec:sec;hour=hour<10?"0"+hour:hour;if(hour>12){hour=hh-12;dd='PM';}
if(hour==12){dd='PM';}
var result=month+' '+day+', '+hour+':'+min+':'+sec+' '+dd;return result;};that.gup=function(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null){return"";}
else{return results[1];}};that.dropDown=function(id,target){this.isOpen=false;var el=$(id);el.click(function(){$(this).addClass('drop');$(target,this).show();this.isOpen=true;});el.mouseleave(function(){if(this.isOpen){$(this).removeClass('drop');$(target,this).hide();this.isOpen=false;}});};that.updateURL=function(currUrl,param,paramVal){var url=currUrl;var newAdditionalURL="";var tempArray=url.split("?");var baseURL=tempArray[0];var aditionalURL=tempArray[1];var temp="";if(aditionalURL){var tempArray=aditionalURL.split("&");for(i=0;i<tempArray.length;i++){if(tempArray[i].split('=')[0]!=param){newAdditionalURL+=temp+tempArray[i];temp="&";}}}
var rows_txt=temp+""+param+"="+paramVal;var finalURL=baseURL+"?"+newAdditionalURL+rows_txt;return finalURL;};that.listToString=function(arr,val,sep){this.string='';val=val||'en';sep=sep||', ';for(var i=0;i<arr.length;i++){if(arr[i].hasOwnProperty(val)){this.string+=(this.string==='')?arr[i][val]:sep+arr[i][val];}}
return this.string;};that.hasNestedProperty=function(obj,childPathString){var path=(childPathString.split('.'));for(var i=0;i<path.length;i++){if(!obj.hasOwnProperty(path[i])){return false;}
obj=obj[path[i]];}
return true;};return that;}();String.prototype.capitalize=function(){return this.replace(/(^|\s)([a-z])/g,function(m,p1,p2){return p1+p2.toUpperCase();});};

/* end /scripts/players/util/util.js*/

/* start /scripts/players/util/ws.js*/
WEB_SOCKET_SWF_LOCATION="/flash/push/WebSocketMain.swf";WEB_SOCKET_DEBUG=true;var ws;function WebSocketController(activeChar,ticketUrl,wsUrl){this.socket=null;this.connectedChar=activeChar;this.subList=new subList();this.debugMode=false;this.socketOpen=false;var _this=this;var jsonUrl=ticketUrl||appSettings.wsTicketURL;var jqajax=$.ajax({beforeSend:function(xhr){_this.log('preparing to connect...');},url:jsonUrl,type:'GET',dataType:'jsonp',jsonpCallback:'setTicket'}).done(function(data,status,jqxhr){if(status=="success"&&data.ticket){_this.log("got back ticket: "+data.ticket);_this.connectWebsocket(data.ticket,wsUrl);}else{_this.log("failed to get ticket: "+data.errors);}}).fail(function(jqXHR,textStatus,errorThrown){});};WebSocketController.prototype.connectWebsocket=function(ticket,wsUrl){var url=wsUrl||appSettings.wsURL;var _this=this;this.socket=new WebSocket(url+"?ticket="+ticket+"&cid="+this.connectedChar);this.socket.onopen=function(){_this.log('socket opened');_this.socketOpen=true;_this.initConnections();};this.socket.onmessage=function(e){var dataJSON=$.parseJSON(e.data);_this.handleMessages(dataJSON);};this.socket.onclose=function(e){console.log('socket closed');_this.socketOpen=false;};this.socket.onerror=function(e){_this.log('socket error: '+e);_this.log(e);};};WebSocketController.prototype.handleMessages=function(eventObj){if(eventObj.service=='event'&&eventObj.payload){dispatcher.trigger('receivedGameEvent',eventObj);}
if(eventObj.service=='message'&&eventObj.payload&&eventObj.payload.PacketUserChatArrived){}
if(eventObj.service=='push'&&eventObj.secondsTillTimeout==60){dispatcher.trigger('timeoutWarning');}
this.log(eventObj);};WebSocketController.prototype.initConnections=function(){if(this.socketCheck('initConnections')){this.socket.send('{"service":"push","action":"selectCharacter","characterId":"'+this.connectedChar+'"}');this.subscribeToCharacters(this.connectedChar);this.connectToFriendsService();this.connectToMessageService();this.subscribeToCharacters(appSettings.friendsIds);dispatcher.on('active-friendsList-ready',this.subscribeToCharacters,this);if(_.isNumber(app.activeUser.get('world_id'))){this.subscribeToWorld(app.activeUser.get('world_id'),true);}else{this.subscribeToWorld(0);}}};WebSocketController.prototype.connectToFriendsService=function(){if(this.socketCheck('friendsService connection')){this.socket.send('{"service":"friends","action":"login"}');}};WebSocketController.prototype.connectToMessageService=function(){if(this.socketCheck('messageService connection')){this.socket.send('{"service":"message","action":"login"}');}};WebSocketController.prototype.subscribeToCharacters=function(charList){if(this.socketCheck('subscribeToCharacters connection')){var charListString=charList.toString();this.log("ws: subscribeToCharacters: "+charListString)
this.socket.send('{"service":"event","action":"subscribe","characters":['+charListString+']}');this.subList.addSub('character',charList,true);}};WebSocketController.prototype.subscribeToWorld=function(worldId,protected){protected=protected||false;worldId=parseInt(worldId);if(this.socketCheck('subscribeToWorld connection')){if(!this.subList.hasSub('world',worldId)){this.socket.send('{"service":"event","action":"subscribe", "worlds":["'+worldId+'"]}');this.subList.addSub('world',worldId,protected);}}};WebSocketController.prototype.unsubscribeFromWorld=function(worldId){if(worldId==='all'){this.subList.eachSub('world',function(id){if(this.subList.removeSub('world',id)){this.socket.send('{"service":"event","action":"clearSubscribe", "worlds":["'+id+'"]}');}},this);}else{this.subList.removeSub('world',worldId);}};WebSocketController.prototype.sendMessage=function(message,sentToCharName){if(this.socketCheck('sendMessage')){this.socket.send('{"service":"message","action":"userSendChat","toUserName":"'+sentToCharName+'","chatMessage":"'+message+'"}');$("#comm_input").val('');}};WebSocketController.prototype.writeToScreen=function(messageObj){if(this.socketCheck('writeToScreen')){if(messageObj.FromUserKey==messageObj.RoutingUserKey){$("#comm_screen").append("<div class='comm_screen_message_sent'> &nbsp;&gt;&nbsp;"+messageObj.ChatMessage+"</div>");}else{$("#comm_screen").append("<div class='comm_screen_message_recieved'> &nbsp;["+messageObj.FromUserName+"]&nbsp;"+messageObj.ChatMessage+"</div>");}}};WebSocketController.prototype.heartbeat=function(){if(this.socketCheck('hearbeat')){this.socket.send('{"service":"push","type":"heartbeat"}');return true;}else{return false;}}
WebSocketController.prototype.socketCheck=function(funcName){if(this.socket==undefined||this.socket==null||!this.socketOpen){this.log(funcName+' failed: no socket');return false;}else{return true;}};WebSocketController.prototype.log=function(msg){if(this.debugMode){console.dir(msg);}}
function subList(){this.subs={};this.pSubs={};};subList.prototype.addSub=function(type,data,protected){protected=protected||false;var _this=this;if(!this.subs.hasOwnProperty(type)){this.subs[type]=[];this.pSubs[type]=[];}
if(_.isArray(data)){_.each(data,function(d){_this.subs[type].push(d);if(protected){_this.pSubs[type].push(d);}});}else{this.subs[type].push(data);if(protected){this.pSubs[type].push(data);}}
this.removeDuplicates();};subList.prototype.removeSub=function(type,data){if(this.subs.hasOwnProperty(type)){if(!_.contains(this.pSubs[type],data)){this.subs[type]=_.without(this.subs[type],data);return true;}else{return false;}}};subList.prototype.hasSub=function(type,data){if(this.subs.hasOwnProperty(type)){return _.contains(this.subs[type],data);}
return false;};subList.prototype.removeDuplicates=function(){_.each(this.subs,function(data,type){this.subs[type]=_.uniq(this.subs[type]);},this);_.each(this.pSubs,function(data,type){this.pSubs[type]=_.uniq(this.pSubs[type]);},this);};subList.prototype.eachSub=function(type,func,context){return _.each(this.subs[type],func,context);};

/* end /scripts/players/util/ws.js*/

/* start /scripts/players/util/marionetteExtend.js*/
Backbone.Marionette.TopLayout=Backbone.Marionette.Layout.extend({onShowCalled:function(){dispatcher.trigger('viewChanged',this.name);app.removeLoader();$('html, body').animate({scrollTop:0});if(this.children){this.children.each(function(child){Marionette.triggerMethod.call(child,"show");});}
try{if(typeof DTKR!=='undefined'&&typeof this.name!=='undefined'){DTKR.pageViewChange(this.name);}}catch(e){};}});Backbone.Marionette.CollectionView=Backbone.Marionette.CollectionView.extend({prependHTML:function(collectionView,itemView,index){collectionView.$el.prepend(itemView.el);},renderItemView:function(view,index){view.render();if(this.usePrepend){this.prependHTML(this,view,index);}else{this.appendHtml(this,view,index);}}});Backbone.Model.prototype.setMany=function(obj){_.each(obj,function(value,index,key){this.set(key,value);},this);return this;};

/* end /scripts/players/util/marionetteExtend.js*/

/* start /scripts/players/ps2/highcharts.js*/
window.PS2=window.PS2||{};PS2.highcharts=function(){var that={};var ncVal=0;var vsVal=0;var trVal=0;var nsVal=0;var dailyKillsVal=0;var weeklyKillsVal=0;var monthlyKillsVal=0;var dailyScoreVal=0;var weeklyScoreVal=0;var monthlyScoreVal=0;that.publicAccess=function(o){if(o&&o.data){ncVal=parseInt(o.data.highchartData.kpf_nc);vsVal=parseInt(o.data.highchartData.kpf_vs);trVal=parseInt(o.data.highchartData.kpf_tr);nsVal=parseInt(o.data.highchartData.kpf_ns);if(app.contextCharacter.toJSON().details.rangeValid.day){dailyKillsVal=o.data.stats.historical.kills.day.d01;dailyScoreVal=o.data.stats.historical.score.day.d01;}else{dailyKillsVal=0;dailyScoreVal=0;}
if(app.contextCharacter.toJSON().details.rangeValid.week){weeklyKillsVal=o.data.stats.historical.kills.week.w01;weeklyScoreVal=o.data.stats.historical.score.week.w01;}else{weeklyKillsVal=0;weeklyScoreVal=0;}
if(app.contextCharacter.toJSON().details.rangeValid.month){monthlyKillsVal=o.data.stats.historical.kills.month.m01;monthlyScoreVal=o.data.stats.historical.score.month.m01;}else{monthlyKillsVal=0;monthlyScoreVal=0;}}};that.loadLBData=function(lbData){dailyKillsVal=lbData.dailyKills;weeklyKillsVal=lbData.weeklyKills;monthlyKillsVal=lbData.monthlyKills;PS2.highcharts.ProfileKillsAverageView({'colors':['#06494f','#097D88']});dailyScoreVal=lbData.dailyScore;weeklyScoreVal=lbData.weeklyScore;monthlyScoreVal=lbData.monthlyScore;PS2.highcharts.ProfileScoreAverageView({'colors':['#06494f','#097D88']});};that.ProfileKillsPerFaction=function(o){var colors={tr:'#9E0202',vs:'#5E37CF',nc:'#0643BF',ns:'#BBBBBB'}
for(i=1;i<=2;i++){var currentRivalFaction=parseInt(app.contextCharacter.get('rivalFaction'+i));var currentRivalKills=parseInt(app.contextCharacter.get('rivalFaction'+i+'Kills'));var currentRivalColor=colors[app.contextCharacter.get('rivalFaction'+i)];var totalCharacterKills=parseInt(app.contextCharacter.get('stats').historical.kills.all_time);var currentRivalPercentage=Math.round((currentRivalKills/totalCharacterKills)*100);var currentRivalRemainder=100-currentRivalPercentage;var data=[{y:currentRivalPercentage,color:currentRivalColor},{y:currentRivalRemainder,color:'rgba(0,0,0,0.00001)'}];if(!$.isNumeric(currentRivalPercentage)){currentRivalPercentage=0}
$('#kpfPercent'+i).html(currentRivalPercentage+'%');$('#kpfChart'+i).highcharts({chart:{type:'pie',width:132,height:132,backgroundColor:'rgba(0,0,0,0.00001)',spacingTop:0,spacingLeft:0,spacingRight:0,spacingBottom:0},title:{text:''},series:[{data:[{y:100,color:'#062528'}],innerSize:94,dataLabels:{enabled:false,}},{data:data,innerSize:86,dataLabels:{enabled:false,}}],credits:{enabled:false},legend:{enabled:false},exporting:{enabled:false},plotOptions:{pie:{startAngle:15,borderWidth:0,states:{hover:{enabled:false}}}},tooltip:{enabled:false}});}};that.WeaponsKillsByWeapon=function(chartColors){var chartData=[];var totalKills=0;_.each(app.contextCharacter.toJSON().highchartData.weaponsArray,function(weapon){if(weapon.y>0){chartData.push(weapon);totalKills+=weapon.y;}})
if(totalKills==0){$('#hiChartGraph').addClass('no-data');$('#hiChartGraph span').show();}else{Highcharts.getOptions().colors=$.map(chartColors,function(color){return{radialGradient:{cx:0.5,cy:0.5,r:0.7},stops:[[0,color],[1,Highcharts.Color(color).brighten(-0.3).get('rgb')]]};});if($("#hiChartGraph").length!=0){$('#hiChartGraph').highcharts({chart:{width:160,height:300,backgroundColor:'rgba(255,255,255,0.0001)',spacingTop:0,spacingBottom:0,spacingLeft:0,spacingRight:0,reflow:false},legend:{y:-50,floating:true,itemStyle:{color:'#fff',fontFamily:'Planetside2',fontSize:'14px',width:150},style:{fontFamily:'Planetside2'},enabled:true,margin:5,padding:7,layout:'vertical',width:'100%',borderColor:'#000',borderWidth:0,borderRadius:0,color:'#fff',itemHoverStyle:{color:null,cursor:'default'}},title:{text:'',style:{fontFamily:'Planetside2'}},tooltip:{enabled:false},credits:false,exporting:false,plotOptions:{pie:{states:{hover:{enabled:false}},point:{events:{legendItemClick:function(){return false;}}},slicedOffset:0,center:[80,80],size:120,borderWidth:0,allowPointSelect:false,cursor:'default',showInLegend:true,dataLabels:{enabled:false}}},series:[{type:'pie',data:chartData}]});$('.highcharts-legend-item rect').eq(0).attr({'fill':chartColors[0],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(chartColors[0]).brighten(-0.3).get('rgb')});$('.highcharts-legend-item rect').eq(1).attr({'fill':chartColors[1],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(chartColors[1]).brighten(-0.3).get('rgb')});$('.highcharts-legend-item rect').eq(2).attr({'fill':chartColors[2],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(chartColors[2]).brighten(-0.3).get('rgb')});$('.highcharts-legend-item rect').eq(3).attr({'fill':chartColors[3],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(chartColors[3]).brighten(-0.3).get('rgb')});$('.highcharts-legend-item rect').eq(4).attr({'fill':chartColors[4],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(chartColors[4]).brighten(-0.3).get('rgb')});}}};that.ProfileClassesView=function(chartColors){Highcharts.getOptions().colors=$.map(chartColors,function(color){return{linearGradient:{x1:0,y1:0,x2:1,y2:0},stops:[[0,'#06494f'],[1,'#097D88']]};});var data=app.contextCharacter.toJSON();var medicVal=parseInt(data.classes.classesList[4].timePlayed);var lightAssaultVal=parseInt(data.classes.classesList[3].timePlayed);var heavyAssaultVal=parseInt(data.classes.classesList[6].timePlayed);var engineerVal=parseInt(data.classes.classesList[5].timePlayed);var maxVal=parseInt(data.classes.classesList[7].timePlayed);var infiltratorVal=parseInt(data.classes.classesList[1].timePlayed);var totalVal=(medicVal+lightAssaultVal+heavyAssaultVal+engineerVal+maxVal+infiltratorVal);var chart;if($("#classesHighchart").length!=0){$("#classesHighchart").highcharts({chart:{width:'288',height:'128',type:'column',spacingTop:0,spacingLeft:3,spacingRight:3,spacingBottom:0,backgroundColor:'rgba(255,255,255,0.0001)'},credits:{enabled:false},exporting:{enabled:false},title:{text:i18n.utils.profile.highcharts.timePerClass,align:'left',style:{color:'#FFF',fontSize:'14px',fontFamily:'Planetside2'}},xAxis:{id:'xAxis',categories:[Math.round(medicVal/totalVal*100)+'%',Math.round(lightAssaultVal/totalVal*100)+'%',Math.round(heavyAssaultVal/totalVal*100)+'%',Math.round(engineerVal/totalVal*100)+'%',Math.round(maxVal/totalVal*100)+'%',Math.round(infiltratorVal/totalVal*100)+'%'],color:'#fff',lineColor:'#08292D',gridLineColor:'#08292D',tickColor:'rgba(255,255,255,0.0001)',labels:{style:{color:'#fff',fontFamily:'Planetside2',fontSize:'14px'}}},tooltip:{enabled:false},yAxis:{min:0,endOnTick:true,tickPixelInterval:'17',gridLineColor:'#08292D',lineColor:'#08292D',title:{text:null},labels:{enabled:false}},plotOptions:{column:{pointPadding:0.2,borderWidth:0,states:{select:{color:{linearGradient:{x1:0,y1:0,x2:1,y2:0},stops:[[0,'#623511'],[1,'#ec842e']]}},hover:{color:{linearGradient:{x1:0,y1:0,x2:1,y2:0},stops:[[0,'#078591'],[1,'#2EE7F8']]}}}}},series:[{allowPointSelect:true,name:'classBarsTabControl',cursor:'pointer',point:{events:{click:function(){switch(this.name){case'medic':$("#classTabs .medic").addClass('noClick').click();break
case'light-assault':$("#classTabs .light-assault").addClass('noClick').click();break
case'heavy-assault':$("#classTabs .heavy-assault").addClass('noClick').click();break
case'engineer':$("#classTabs .engineer").addClass('noClick').click();break
case'max':$("#classTabs .max").addClass('noClick').click();break
case'infiltrator':$("#classTabs .infiltrator").addClass('noClick').click();break}}}},name:'Time Played',showInLegend:false,data:[{y:medicVal,name:'medic',selected:true},{y:lightAssaultVal,name:'light-assault',selected:null},{y:heavyAssaultVal,name:'heavy-assault',selected:null},{y:engineerVal,name:'engineer',selected:null},{y:maxVal,name:'max',selected:null},{y:infiltratorVal,name:'infiltrator',selected:null}]}]});}};that.ProfileKillsAverageView=function(chartColors){Highcharts.getOptions().colors=$.map(chartColors,function(color){return{linearGradient:{x1:0,y1:0,x2:1,y2:0},stops:[[0,'#06494f'],[1,'#097D88']]};});var chart;if($("#killsAverageGraph").length!=0){profileKillsAverageViewChart=new Highcharts.Chart({chart:{renderTo:'killsAverageGraph',width:'300',height:'147',type:'column',spacingTop:0,spacingLeft:3,spacingRight:3,spacingBottom:3,backgroundColor:'rgba(255,255,255,0.0001)'},credits:{enabled:false},exporting:{enabled:false},title:{text:i18n.utils.profile.highcharts.killsBreakdown,align:'left',style:{color:'#FFF',fontSize:'14px',fontFamily:'Planetside2'}},xAxis:{id:'xAxis',categories:[i18n.utils.profile.highcharts.daily,i18n.utils.profile.highcharts.weekly,i18n.utils.profile.highcharts.monthly],color:'#fff',lineColor:'#08292D',gridLineColor:'#08292D',tickColor:'rgba(255,255,255,0.0001)',labels:{style:{color:'#fff',fontFamily:'Planetside2',fontSize:'12px',padding:'5px'}}},tooltip:{enabled:false},yAxis:{min:0,endOnTick:true,tickPixelInterval:'17',gridLineColor:'#08292D',lineColor:'#08292D',title:{text:null},labels:{enabled:false}},plotOptions:{column:{pointPadding:0.02,borderWidth:0}},series:[{allowPointSelect:false,name:'classBarsTabControl',name:'Time Played',showInLegend:false,data:[parseInt(dailyKillsVal),parseInt(weeklyKillsVal),parseInt(monthlyKillsVal)]}]});}};that.ProfileScoreAverageView=function(chartColors){Highcharts.getOptions().colors=$.map(chartColors,function(color){return{linearGradient:{x1:0,y1:0,x2:1,y2:0},stops:[[0,'#06494f'],[1,'#097D88']]};});var chart;if($("#scoreAverageGraph").length!=0){profileScoreAverageViewChart=new Highcharts.Chart({chart:{renderTo:'scoreAverageGraph',width:'300',height:'147',type:'column',spacingTop:0,spacingLeft:3,spacingRight:3,spacingBottom:3,backgroundColor:'rgba(255,255,255,0.0001)'},credits:{enabled:false},exporting:{enabled:false},title:{text:i18n.utils.profile.highcharts.scoreBreakdown,align:'left',style:{color:'#FFF',fontSize:'14px',fontFamily:'Planetside2'}},xAxis:{id:'xAxis',categories:[i18n.utils.profile.highcharts.daily,i18n.utils.profile.highcharts.weekly,i18n.utils.profile.highcharts.monthly],color:'#fff',lineColor:'#08292D',gridLineColor:'#08292D',tickColor:'transparent',labels:{style:{color:'#fff',fontFamily:'Planetside2',fontSize:'12px',padding:'5px'}}},tooltip:{enabled:false},yAxis:{min:0,endOnTick:true,tickPixelInterval:'17',gridLineColor:'#08292D',lineColor:'#08292D',title:{text:null},labels:{enabled:false}},plotOptions:{column:{pointPadding:0.02,borderWidth:0}},series:[{allowPointSelect:false,name:'classBarsTabControl',name:'Time Played',showInLegend:false,data:[parseInt(dailyScoreVal),parseInt(weeklyScoreVal),parseInt(monthlyScoreVal)]}]});}};that.KillboardKillsPerFaction=function(o){var chartColors=[];if(o&&o.colors){chartColors=o.colors;}
var totalKillsVal=(o.hcData.ncVal+o.hcData.vsVal+o.hcData.trVal+o.hcData.nsVal);if(totalKillsVal==0){$('#empireChart').addClass('no-data').html(' ');$('#noKillboardData').show();$('#empireChart span').show();}else{$('#empireChart').removeClass('no-data');$('#noKillboardData').hide();Highcharts.getOptions().colors=$.map(chartColors,function(color){return{radialGradient:{cx:0.5,cy:0.5,r:0.7},stops:[[0,color],[1,Highcharts.Color(color).brighten(-0.3).get('rgb')]]};});if($('#empireChart').length!=0){$('#empireChart').highcharts({chart:{width:180,height:265,backgroundColor:'rgba(0,0,0,0.00001)',spacingTop:0,spacingBottom:20,spacingLeft:0,spacingRight:0},legend:{y:0,floating:true,itemStyle:{color:'#fff',fontFamily:'Planetside2',fontSize:'12px',width:130},enabled:true,margin:5,padding:7,layout:'vertical',width:'100%',borderColor:'#000',borderWidth:0,borderRadius:0,color:'#fff',itemMarginBottom:5,itemHoverStyle:{color:null,cursor:'default'}},title:{text:o.hcData.title,align:'left',x:7,style:{color:'#00EAFF',fontSize:'14px',fontFamily:'Planetside2'}},tooltip:{enabled:false},credits:false,exporting:false,plotOptions:{pie:{states:{hover:{enabled:false}},point:{events:{legendItemClick:function(){return false;}}},slicedOffset:0,center:[90,75],size:150,borderWidth:0,allowPointSelect:false,cursor:'default',showInLegend:true,dataLabels:{enabled:false}}},series:[{type:'pie',data:[{name:'NEW CONGLOMERATE <span style="color:#4FD4E0">['+o.hcData.ncVal+']</span>',y:o.hcData.ncVal},{name:'VANU SOVEREIGNTY <span style="color:#4FD4E0">['+o.hcData.vsVal+']</span>',y:o.hcData.vsVal},{name:'TERRAN REPUBLIC <span style="color:#4FD4E0">['+o.hcData.trVal+']</span>',y:o.hcData.trVal},{name:'NANITE SYSTEMS <span style="color:#4FD4E0">['+o.hcData.nsVal+']</span>',y:o.hcData.nsVal}]}]});$('#empireChart .highcharts-legend-item rect').eq(0).attr({'fill':o.colors[0],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[0]).brighten(-0.3).get('rgb')});$('#empireChart .highcharts-legend-item rect').eq(1).attr({'fill':o.colors[1],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[1]).brighten(-0.3).get('rgb')});$('#empireChart .highcharts-legend-item rect').eq(2).attr({'fill':o.colors[2],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[2]).brighten(-0.3).get('rgb')});$('#empireChart .highcharts-legend-item rect').eq(3).attr({'fill':o.colors[3],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[3]).brighten(-0.3).get('rgb')});}}};that.KillboardKillsPerContinent=function(o){var chartColors=[];$.each(o.hcData.locations,function(){o.colors.push(appSettings.CONTINENTS[this.nameLower].color);});chartColors=o.colors;var totalKillsVal=(o.hcData.ncVal+o.hcData.vsVal+o.hcData.trVal+o.hcData.nsVal);if(!o.hcData.locations[0]){$('#locationChart').addClass('no-data').html(' ');$('#locationChart span').show();}else{$('#locationChart').removeClass('no-data');Highcharts.getOptions().colors=$.map(chartColors,function(color){return{radialGradient:{cx:0.5,cy:0.5,r:0.7},stops:[[0,color],[1,Highcharts.Color(color).brighten(-0.3).get('rgb')]]};});if($('#locationChart').length!=0){$('#locationChart').highcharts({chart:{width:180,height:265,backgroundColor:'rgba(0,0,0,0.00001)',spacingTop:10,spacingBottom:20,spacingLeft:0,spacingRight:0},legend:{y:0,floating:true,itemStyle:{color:'#fff',fontFamily:'Planetside2',fontSize:'12px',width:130},enabled:true,margin:5,padding:7,layout:'vertical',width:'100%',borderColor:'#000',borderWidth:0,borderRadius:0,color:'#fff',itemMarginBottom:5,itemHoverStyle:{color:null,cursor:'default'}},title:{text:o.hcData.locTitle,align:'left',x:7,style:{color:'#00EAFF',fontSize:'14px',fontFamily:'Planetside2'}},tooltip:{enabled:false},credits:false,exporting:false,plotOptions:{pie:{states:{hover:{enabled:false}},point:{events:{legendItemClick:function(){return false;}}},slicedOffset:0,center:[90,75],size:150,borderWidth:0,allowPointSelect:false,cursor:'default',showInLegend:true,dataLabels:{enabled:false}}},series:[{type:'pie',data:o.hcData.locations}]});$('#locationChart .highcharts-legend-item rect').eq(0).attr({'fill':o.colors[0],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[0]).brighten(-0.3).get('rgb')});$('#locationChart .highcharts-legend-item rect').eq(1).attr({'fill':o.colors[1],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[1]).brighten(-0.3).get('rgb')});$('#locationChart .highcharts-legend-item rect').eq(2).attr({'fill':o.colors[2],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[2]).brighten(-0.3).get('rgb')});}}};that.KillboardKillsPerMethod=function(o){var chartColors=[];if(o&&o.colors){chartColors=o.colors;}
if(!o.hcData.methods[0]){$('#methodChart').addClass('no-data').html(' ');$('#methodChart span').show();}else{$('#methodChart').removeClass('no-data');Highcharts.getOptions().colors=$.map(chartColors,function(color){return{radialGradient:{cx:0.5,cy:0.5,r:0.7},stops:[[0,color],[1,Highcharts.Color(color).brighten(-0.3).get('rgb')]]};});if($('#methodChart').length!=0){$('#methodChart').highcharts({chart:{width:180,height:395,backgroundColor:'rgba(0,0,0,0.00001)',spacingTop:10,spacingBottom:20,spacingLeft:0,spacingRight:0},legend:{y:-80,floating:true,itemStyle:{color:'#fff',fontFamily:'Planetside2',fontSize:'12px',width:130},enabled:true,margin:5,padding:7,layout:'vertical',width:'100%',borderColor:'#000',borderWidth:0,borderRadius:0,color:'#fff',itemMarginBottom:5,itemHoverStyle:{color:null,cursor:'default'}},title:{text:o.hcData.methodTitle,align:'left',x:7,style:{color:'#00EAFF',fontSize:'14px',fontFamily:'Planetside2'}},tooltip:{enabled:false},credits:false,exporting:false,plotOptions:{pie:{states:{hover:{enabled:false}},point:{events:{legendItemClick:function(){return false;}}},slicedOffset:0,center:[90,75],size:150,borderWidth:0,allowPointSelect:false,cursor:'default',showInLegend:true,dataLabels:{enabled:false}}},series:[{type:'pie',data:o.hcData.methods}]});$('#methodChart .highcharts-legend-item rect').eq(0).attr({'fill':o.colors[0],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[0]).brighten(-0.3).get('rgb')});$('#methodChart .highcharts-legend-item rect').eq(1).attr({'fill':o.colors[1],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[1]).brighten(-0.3).get('rgb')});$('#methodChart .highcharts-legend-item rect').eq(2).attr({'fill':o.colors[2],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[2]).brighten(-0.3).get('rgb')});$('#methodChart .highcharts-legend-item rect').eq(3).attr({'fill':o.colors[3],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[3]).brighten(-0.3).get('rgb')});$('#methodChart .highcharts-legend-item rect').eq(4).attr({'fill':o.colors[4],'rx':'0','ry':'0','stroke-width':'1','stroke':Highcharts.Color(o.colors[4]).brighten(-0.3).get('rgb')});}}};that.popupChart=function(target,data){var chartLines=[{name:'Damage',color:'#bb6b1d',data:[{y:parseInt(data.damage_max),x:0},{y:parseInt(data.damage_max),x:parseInt(data.damage_max_range)},{y:parseInt(data.damage_min),x:parseInt(data.damage_min_range)},{y:parseInt(data.damage_min),x:(parseInt(data.damage_min_range)+parseInt(data.damage_max_range))}]}];target.highcharts({chart:{width:293,height:110,backgroundColor:'rgba(0,0,0,0.00001)',spacingTop:10,spacingBottom:10,spacingLeft:-3,spacingRight:10},title:{text:''},xAxis:{title:{text:'DISTANCE',style:{color:'#fff',fontFamily:'Exo',fontSize:'11px'}},color:'#fff',lineColor:'#08292D',gridLineColor:'#08292D',tickColor:'rgba(255,255,255,0.0001)',labels:{style:{color:'#0c4349',fontFamily:'Planetside2',fontSize:'10px'}}},yAxis:{title:{text:'DAMAGE',style:{color:'#fff',fontFamily:'Exo',fontSize:'11px'}},gridLineColor:'#08292D',lineColor:'#08292D',labels:{style:{color:'#0c4349',fontFamily:'Planetside2',fontSize:'10px'}}},series:chartLines,credits:{enabled:false},legend:{enabled:false},exporting:{enabled:false},tooltip:{formatter:function(){return this.y+' Damage at '+this.x+' meters';}},plotOptions:{line:{allowPointSelect:false}}});};return that;}();

/* end /scripts/players/ps2/highcharts.js*/

/* start /scripts/players/ps2/search.js*/
window.PS2=window.PS2||{};PS2.search=function(){var that={};var response={};that.init=function(o){response=o;this.fixJSON(response);this.setGlobalObj();};that.getResponse=function(){return response;};that.fixJSON=function(response){var row=response.character_list;for(i=0,l=(row.length)-1;i<=l;i++){row[i].stats=row[i].stats?row[i].stats:{};row[i].type=row[i].type?row[i].type:{};row[i].name=row[i].name?row[i].name:{first:'n/a'};row[i].experience=row[i].experience?row[i].experience:{};row[i].stats.deaths=row[i].stats.deaths?row[i].stats.deaths:{};row[i].stats.deaths.value=row[i].stats.deaths.value?row[i].stats.deaths.value:0;row[i].type.faction=row[i].type.faction?row[i].type.faction:'';row[i].name.first_lower=row[i].name.first_lower?row[i].name.first_lower:(row[i].name.first).toString().toLowerCase();row[i].experience.rank=row[i].experience.rank?row[i].experience.rank:'n/a';}
return response;};that.setGlobalObj=function(){var le=response.character_list.length;if(le>0){var prev=(response.character_list[0].name.first_lower).toString().toLowerCase();var next=(response.character_list[le-1].name.first).toString().toLowerCase();}
if(localStorage.getItem("shPaginationCounter")===null){localStorage.setItem("shPaginationCounter",1);}
if(localStorage.getItem("shCount")===null){localStorage.setItem("shCount",response.count);}
window.shPag['count']=localStorage.getItem("shCount");window.shPag['prev']=prev;window.shPag['next']=next;};that.pagination=function(){var searchTerm=window.location.toString().split('/search/',2);if((app.currQuery.indexOf("?")==-1)&&(searchTerm[1]!='')){$('#pagination').hide();localStorage.setItem("shPaginationCounter",1);}
try{if(window.viewClassName.prev!=window.viewClassName.current){localStorage.setItem("shPaginationCounter",1);}}catch(err){}
var counter=localStorage.getItem("shPaginationCounter");var url=(window.location.toString()).split("?")[0];var hasTrailingSlash=url.charAt(url.length-1)==="/";if(!hasTrailingSlash){url+="/";}
var totalPages=Math.ceil(shPag.count/shPag.limit);$('#shLastPage').html(totalPages);var currentPageHolder=$('#shFirstPage');var nextUrl=PS2.utils.updateURL(url,'next',shPag.next);var btnNextPage=$('#nextPage');btnNextPage.attr('href',nextUrl);btnNextPage.click(function(){var val=counter;val++;if(val>totalPages){val=totalPages;}
localStorage.setItem("shPaginationCounter",val);});var prevUrl=PS2.utils.updateURL(url,'prev',shPag.prev);var btnPrevPage=$('#prevPage');btnPrevPage.attr('href',prevUrl);btnPrevPage.click(function(){var val=counter;val--;if(val==0){return false;}
localStorage.setItem("shPaginationCounter",val);});var lastUrl=PS2.utils.updateURL(url,'last',1);var btnLastPage=$('#lastPage');btnLastPage.attr('href',lastUrl);btnLastPage.click(function(){localStorage.setItem("shPaginationCounter",totalPages);});var firstUrl=PS2.utils.updateURL(url,'first',1);var btnFirstPage=$('#firstPage');btnFirstPage.attr('href',firstUrl);btnFirstPage.click(function(){localStorage.setItem("shPaginationCounter",1);});};return that;}();

/* end /scripts/players/ps2/search.js*/

/* start /scripts/players/ps2/components.js*/
(function($){$.fn.extend({popup:function(dataOptions,options,callback){dataOptions=dataOptions||{popupType:''};callback=callback||function(){};var omniture=function(title){try{var _type=dataOptions.popupType||'';var _page=DTKR.page.pageType||'';var _mDesc=''+_type+' '+_page+' '+title;DTKR.trackEvent({eventName:'modalPopup',modalDesc:_mDesc});}catch(e){}};var defaults={speed:0,top:'25%',closeOnClick:true,load:true,oneInstance:true};options=$.extend({},defaults,options);return $(this).each(function(){options.target=$(this).next('.overlay');$(this).overlay(options);var api=$(this).data('overlay');var winCenter=$(window).width()/2;var modalHalfWidth=api.getOverlay().width()/2;var leftPosition=winCenter-modalHalfWidth;var title=api.getOverlay().find('h4:first').text();api.getOverlay().css('left',leftPosition);omniture(title);callback();});},clickAll:function(target,fn,activate){activate=activate||false;fn=fn||function(){return true;};return $(this).each(function(){$(this).click(function(){$.each($(target),function(){if($(this).hasClass('selected')){if(!activate){$(this).removeClass('selected');}}else{if(activate){$(this).addClass('selected');}}});fn();});});},scrollbar:function(options){var defaults={showArrows:true,horizontalGutter:10,verticalDragMaxHeight:30,autoReinitialise:true};options=$.extend({},defaults,options);return $(this).each(function(){$(this).jScrollPane(options);});},accordion:function(pane,options){var title=function(o){try{var current=o.getCurrentTab();var title=current.find('.cl-name').text();omniture(title);}catch(err){}}
var omniture=function(title){if(title){try{DKTR.trackEvent({eventName:'button',buttonDesc:title});}catch(e){}}
return false;};var defaults={effect:'slide',initialIndex:null,tabs:'h3',onClick:function(){title(this);},api:true};options=$.extend({},defaults,options);return $(this).each(function(){$(this).tabs($(this).selector+" "+pane,options);$(this).data('tabs').click(0);try{omniture($($(this).data('tabs').getTabs()[0]).text());}catch(err){};});},toggleElement:function(trigger,target,className){var className=className||"active";return $(this).each(function(){var parentTriggers=$(this).find(trigger);parentTriggers.each(function(){$(this).click(function(){parentTriggers.removeClass(className);$(this).addClass(className);$(target).hide();$(target).eq($(this).attr('rel')).show();});});});}});})(jQuery);

/* end /scripts/players/ps2/components.js*/

/* start /scripts/players/models/model-activeUser.js*/
window.ActiveUser=Backbone.Model.extend({initialize:function(options){if(options&&options.userLoggedIn){this.set({userLoggedIn:options.userLoggedIn});if(options.characterIds){this.set({userCharIds:options.characterIds});}}},defaults:{userLoggedIn:false,userCharIds:null,activeChar:null},getActiveChar:function(){return this.get("activeChar");},setActiveChar:function(id){this.set({activeChar:id});this.getActiveCharFriends();dispatcher.trigger('activeCharChanged',id);ws=new WebSocketController(this.getActiveChar());},getCharIdsList:function(){return this.get("userCharIds");},getUserLoggedIn:function(){return this.get("userLoggedIn");},isUserCharacter:function(cID){return $.inArray(cID,this.getCharIdsList())>=0;},getActiveCharFriends:function(){this.friendsListModel=new FriendsList({id:this.getActiveChar()});this.friendsListModel.fetch({success:function(data){if(data.get('friend_list')){appSettings.friendsIds=[];_.each(data.get('friend_list'),function(friend){appSettings.friendsIds.push(friend.character_id);});}
dispatcher.trigger('activeFriendsLoaded',appSettings.friendsIds);}});}});

/* end /scripts/players/models/model-activeUser.js*/

/* start /scripts/players/models/model-world.js*/
window.world=Backbone.Model.extend();window.WorldsCollection=Backbone.Collection.extend({initialize:function(model,options){this.count=(options&&options.count)?options.count:500;},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.worldsList+"?c:limit=100";},parse:function(response){_.each(response.world_list,function(world){if(!world.name){world.name={'en':'n/a','fr':'n/a','it':'n/a','de':'n/a','es':'n/a','tr':'n/a'};}});if(response.world_list){response.world_list.sort(function(a,b){var textA=a.name[i18n.langCode].toLowerCase();var textB=b.name[i18n.langCode].toLowerCase();return(textA<textB?-1:(textA>textB)?1:0);});return response.world_list;}else{return[{name:null,server_id:null,descritpion:null}];}}});

/* end /scripts/players/models/model-world.js*/

/* start /scripts/players/models/model-character.js*/
window.Character=Backbone.Model.extend({initialize:function(){this.set({charReady:false},{silent:true});this.set({'onlineStatus':'offline'});},url:function(){return appSettings.censusUrl+"/single_character_by_id/?character_id="+this.id+"&c:resolve=item(type,vehicle_id,weapon_details,description,item_type_id,is_vehicle_weapon,item_category_id),online_status,friends,world,outfit(alias,id,name)&c:join=item_profile^on:items.item_id^to:item_id^list:1^show:profile_id^inject_at:classes_list&c:lang="+i18n.langCode;},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},addEvent:function(event){if(typeof(event)=="object"){this.events.push(event);}},changeChar:function(id){this.set({id:id});},parse:function(response){var characterObject=this.character2Manip(response);return characterObject;},character2Manip:function(response){var data=response.single_character_by_id_list[0];if(!data.stats){data.stats={};}
if(!data.stats.stat_history){data.stats.stat_history={kills:{all_time:0,day:{d01:0},week:{w01:0},month:{m01:0}},deaths:{all_time:0},facility_capture:{all_time:0},facility_defend:{all_time:0},score:{all_time:0,day:{d01:0},week:{w01:0},month:{m01:0}}};}
var getWeapons=function(){var allWeaponFireCount=0;var allWeaponHitCount=0;var weapons_list=[];var weapons_map={};var groupedWeaponStat=_.groupBy(data.stats.weapon_stat,'item_id');var groupedWeaponStatByFaction=_.groupBy(data.stats.weapon_stat_by_faction,'item_id');_.each(data.items,function(item){if(item.item_type_id=='26'&&item.is_vehicle_weapon=='0'){var weaponStat=groupedWeaponStat[item.item_id];var weaponStatByFaction=groupedWeaponStatByFaction[item.item_id];weaponStat=_.groupBy(weaponStat,'stat_name');weaponStatByFaction=_.groupBy(weaponStatByFaction,'stat_name');if(weaponStatByFaction.weapon_kills){item.kills=(parseInt(weaponStatByFaction.weapon_kills[0].value_nc)+parseInt(weaponStatByFaction.weapon_kills[0].value_vs)+parseInt(weaponStatByFaction.weapon_kills[0].value_tr));}else{item.kills=0;}
if(weaponStatByFaction.weapon_headshots){item.headshots=(parseInt(weaponStatByFaction.weapon_headshots[0].value_nc)+parseInt(weaponStatByFaction.weapon_headshots[0].value_vs)+parseInt(weaponStatByFaction.weapon_headshots[0].value_tr));}else{item.headshots=0;}
if(weaponStat.weapon_play_time){item.timePlayed=parseInt(weaponStat.weapon_play_time[0].value);}else{item.timePlayed=0;}
if(weaponStat.weapon_fire_count){item.fireCount=parseInt(weaponStat.weapon_fire_count[0].value);}else{item.fireCount=0;}
if(weaponStat.weapon_hit_count){item.hitsCount=parseInt(weaponStat.weapon_hit_count[0].value);}else{item.hitsCount=0;}
if(weaponStat.weapon_score){item.score=parseInt(weaponStat.weapon_score[0].value);}else{item.score=0;}
if(!item.weapon_details){item.weapon_details={'type':'unknown'};}
item.kpm=((parseInt(item.timePlayed)>0))?Math.round((parseInt(item.kills))/Math.floor((parseInt(item.timePlayed)/60))*100)/100:0;if(!$.isNumeric(item.kpm)){if(item.kpm=='Infinity'){item.kpm='&infin;';}else{item.kpm=0;}}
item.accuracy=(item.fireCount>0)?Math.round((item.hitsCount/item.fireCount)*100):0;item.name=appSettings.itemsTable['item_'+item.item_id].name[i18n.langCode];item.imgUrl=appSettings.censusFileRootUrl+appSettings.itemsTable['item_'+item.item_id].image_path;if(item.weapon_details.type){if(item.weapon_details.damage>0){item.wepDamage=(item.weapon_details.damage*100)/item.weapon_details.damage_max;}else{item.wepDamage=((item.weapon_details.direct_damage+item.weapon_details.indirect_damage)*100)/item.weapon_details.damage_max;}
if(item.wepDamage>=100)item.wepDamage=100;item.wepAccuracy=100-(item.weapon_details.fire_cone*100)/item.weapon_details.fire_cone_max;item.wepROF=100-(item.weapon_details.fire_rate_ms*100)/item.weapon_details.fire_rate_ms_max;item.wepReload=(100*item.weapon_details.reload_ms_min)/item.weapon_details.reload_ms;var useableClasses=[];_.each(item.classes_list,function(charClass){useableClasses.push(appSettings.profilesTable[charClass.profile_id].name.toLowerCase().replace(' ','_'));});item.useableBy=_.uniq(useableClasses).join(' ');}
item.description=(item.description&&item.description[i18n.langCode])?item.description[i18n.langCode]:item.name;weapons_list.push(item);weapons_map[item.item_id]=item;allWeaponHitCount+=item.hitsCount;allWeaponFireCount+=item.fireCount;}});data.weaponHitCount=parseInt(allWeaponHitCount);data.weaponFireCount=parseInt(allWeaponFireCount);weapons_list.sort(function(a,b){return b.kills-a.kills;});return weapons_list;};var getVehicles=function(charFaction){var allVehicleFireCount=0;var allVehicleHitCount=0;var vehicle_list={};var groupedVehicleStat=_.groupBy(data.stats.weapon_stat,'vehicle_id');var groupedVehicleStatByFaction=_.groupBy(data.stats.weapon_stat_by_faction,'vehicle_id');_.each(appSettings.vehicleTable,function(vehicle){if(_.contains(vehicle.faction,appSettings.factions.code[charFaction].id.toString())){if(vehicle.vehicle_id<13){var vehicleStat=groupedVehicleStat[vehicle.vehicle_id];var vehicleStatByFaction=groupedVehicleStatByFaction[vehicle.vehicle_id];vehicleStat=_.groupBy(vehicleStat,'stat_name');vehicleStatByFaction=_.groupBy(vehicleStatByFaction,'stat_name');vehicle.attachmentList=vehicle.attachmentList;vehicle.imgUrl='https://www-cdn.planetside2.com/images/players/player/vehicles/'+vehicle.vehicle_id+'-'+charFaction+'.png?v=2485487002';if(vehicleStatByFaction.weapon_kills){vehicle.kills={};vehicle.kills.vs=parseInt(vehicleStatByFaction.weapon_kills[0].value_vs);vehicle.kills.nc=parseInt(vehicleStatByFaction.weapon_kills[0].value_nc);vehicle.kills.tr=parseInt(vehicleStatByFaction.weapon_kills[0].value_tr);vehicle.kills.total=(vehicle.kills.vs+vehicle.kills.nc+vehicle.kills.tr);}else{vehicle.kills={vs:0,nc:0,tr:0,total:0};}
if(vehicleStatByFaction.weapon_headshots){vehicle.headshots={};vehicle.headshots.vs=parseInt(vehicleStatByFaction.weapon_headshots[0].value_vs);vehicle.headshots.nc=parseInt(vehicleStatByFaction.weapon_headshots[0].value_nc);vehicle.headshots.tr=parseInt(vehicleStatByFaction.weapon_headshots[0].value_tr);vehicle.headshots.total=(vehicle.headshots.vs+vehicle.headshots.nc+vehicle.headshots.tr);}else{vehicle.headshots={vs:0,nc:0,tr:0,total:0};}
if(vehicleStatByFaction.weapon_vehicle_kills){vehicle.destroyed=(parseInt(vehicleStatByFaction.weapon_vehicle_kills[0].value_vs)+parseInt(vehicleStatByFaction.weapon_vehicle_kills[0].value_nc)+parseInt(vehicleStatByFaction.weapon_vehicle_kills[0].value_tr));}else{vehicle.destroyed=0;}
if(vehicleStat.weapon_play_time){vehicle.timeUsed=parseInt(vehicleStat.weapon_play_time[0].value);}else{vehicle.timeUsed=0;}
if(vehicleStat.weapon_score){vehicle.score=parseInt(vehicleStat.weapon_score[0].value);}else{vehicle.score=0;}
if(vehicleStat.weapon_fire_count){vehicle.shotsFired=parseInt(vehicleStat.weapon_fire_count[0].value);}else{vehicle.shotsFired=0;}
if(vehicleStat.weapon_hit_count){vehicle.shotsHit=parseInt(vehicleStat.weapon_hit_count[0].value);}else{vehicle.shotsHit=0;}
vehicle.accuracy=vehicle.shotsFired===0?0:Math.round((vehicle.shotsHit/vehicle.shotsFired)*100);vehicle_list[vehicle.vehicle_id]=vehicle;allVehicleHitCount+=vehicle.shotsHit;allVehicleFireCount+=vehicle.shotsFired;}}});data.vehicleHitCount=parseInt(allVehicleHitCount);data.vehicleFireCount=parseInt(allVehicleFireCount);return vehicle_list;};var getClasses=function(charFaction,charGender){var classes_list={};var groupedClassStat=_.groupBy(data.stats.stat,'profile_id');var groupedClassStatByFaction=_.groupBy(data.stats.stat_by_faction,'profile_id');_.each(appSettings.classesTable,function(classes,classesID){var classStat=groupedClassStat[classesID];var classStatByFaction=groupedClassStatByFaction[classesID];classStat=_.groupBy(classStat,'stat_name');classStatByFaction=_.groupBy(classStatByFaction,'stat_name');classes.classImgUrl='https://www-cdn.planetside2.com/images/players/player/classes/'+classes.name.toLowerCase().replace(' ','-')+'-'+charFaction+'-'+charGender+'.png?v=2059944850';classes.faction=charFaction;if(classStat.play_time){classes.timePlayed=parseInt(classStat.play_time[0].value_forever);}else{classes.timePlayed=0;}
if(classStat.fire_count){classes.shotsFired=parseInt(classStat.fire_count[0].value_forever);}else{classes.shotsFired=0;}
if(classStat.hit_count){classes.hitCount=parseInt(classStat.hit_count[0].value_forever);}else{classes.hitCount=0;}
if(classStat.score){classes.score=parseInt(classStat.score[0].value_forever);}else{classes.score=0;}
if(classStatByFaction.kills){classes.kills=(parseInt(classStatByFaction.kills[0].value_forever_tr)+parseInt(classStatByFaction.kills[0].value_forever_vs)+parseInt(classStatByFaction.kills[0].value_forever_nc));}else{classes.kills=0;}
classes.accuracy=$.isNumeric(Math.round(classes.hitCount/classes.shotsFired*100))?(Math.round(classes.hitCount/classes.shotsFired*100)):0;classes.spm=$.isNumeric(Math.round(classes.score/(classes.timePlayed/60)))?(Math.round(classes.score/(classes.timePlayed/60))):0;classes_list[classesID]=classes;});return classes_list;};var groupedForeverStats=_.groupBy(data.stats.stat,'profile_id');var groupedForeverStatsByFaction=_.groupBy(data.stats.stat_by_faction,'profile_id');var foreverStat=groupedForeverStats[0];var foreverStatByFaction=groupedForeverStatsByFaction[0];foreverStat=_.groupBy(foreverStat,'stat_name');foreverStatByFaction=_.groupBy(foreverStatByFaction,'stat_name');var charForeverStats={};if(foreverStat.weapon_fire_count){charForeverStats.shotsFired=parseInt(foreverStat.weapon_fire_count[0].value_forever);}else{charForeverStats.shotsFired=0;}
if(foreverStat.weapon_hit_count){charForeverStats.shotsHit=parseInt(foreverStat.weapon_hit_count[0].value_forever);}else{charForeverStats.shotsHit=0;}
if(foreverStat.weapon_score){charForeverStats.score=PS2.utils.hasNestedProperty(data,'stats.stat_history.score.all_time')?parseInt(data.stats.stat_history.score.all_time):0;}else{charForeverStats.score=0;}
if(foreverStatByFaction.weapon_vehicle_kills){charForeverStats.vehicleKills=(parseInt(foreverStatByFaction.weapon_vehicle_kills[0].value_forever_nc)+parseInt(foreverStatByFaction.weapon_vehicle_kills[0].value_forever_tr)+parseInt(foreverStatByFaction.weapon_vehicle_kills[0].value_forever_vs));}else{charForeverStats.vehicleKills=0;}
if(foreverStat.assist_count){charForeverStats.assists=foreverStat.assist_count[0].value_forever;}else{charForeverStats.assists=0;}
var saved_time=(data.times.last_save=="0")?data.times.creation:data.times.last_save;var contextCharManip={classes:{classesList:getClasses(appSettings.factions[data.faction_id].code,(data.head_id>0&&data.head_id<5)?'male':'female'),classesTopStats:{bestSPM:{name:'n/a',value:0},bestScore:{name:'n/a',value:0},mostPlayed:{name:'n/a',value:0}}},details:{activeClass:{id:parseInt(data.active_profile_id)},certs:{currentPoints:parseInt(data.certs.earned_points),percentageToNext:data.certs.percent_to_next?Math.round(parseFloat(data.certs.percent_to_next)*100):'n/a',},characterId:data.id,creation_date:data.times.creation,currency:{nanite:parseInt(data.currency.quantity)},empire:{id:parseInt(data.faction_id),name:appSettings.factions[data.faction_id].code},gender:(data.head_id>0&&data.head_id<5)?'male':'female',outfit:{alias:data.outfit?data.outfit.alias:'None',id:data.outfit?data.outfit.outfit_id:'None',name:data.outfit?data.outfit.name:'None',getOutfitName:function(){return(data.outfit&&data.outfit.name)?data.outfit.name:'None';}},lastSaved:PS2.utils.timestampToDate(saved_time,true).toUpperCase(),minutesPlayed:parseInt(PS2.utils.hasNestedProperty(data,'stats.stat_history.time.all_time')?data.stats.stat_history.time.all_time/60:0),name:{firstLower:data.name.first_lower,first:data.name.first},onlineStatus:(parseInt(data.online_status))?'Online':'Offline',paperdollImage:'https://www-cdn.planetside2.com/images/players/player/profile/char-default-'+appSettings.factions[data.faction_id].code+'-'+data.profile_id+'-'+((data.head_id>0&&data.head_id<5)?'male':'female')+'.png?v=3215877434',rangeValid:PS2.utils.isDateRangeValid(appSettings.serverTime,data.times.last_save),world:{id:$.isNumeric(data.world_id)?parseInt(data.world_id):0,name:$.isNumeric(data.world_id)?appSettings.worldsTable[('world_'+data.world_id)].name[i18n.langCode]:i18n.leaderboardsTop.worldData.worldUnavailable}},friends:data.friend_list||{},highchartData:{kpf_nc:foreverStatByFaction.weapon_kills?foreverStatByFaction.weapon_kills[0].value_forever_nc:0,kpf_tr:foreverStatByFaction.weapon_kills?foreverStatByFaction.weapon_kills[0].value_forever_tr:0,kpf_ns:0,kpf_vs:foreverStatByFaction.weapon_kills?foreverStatByFaction.weapon_kills[0].value_forever_vs:0,weaponsArray:{}},stats:{base:{accuracy:Math.round((charForeverStats.shotsHit/charForeverStats.shotsFired)*10000)/100,assists:charForeverStats.assists,battleRank:$.isNumeric(parseInt(data.battle_rank.value))?parseInt(data.battle_rank.value):'n/a',battleRankNext:$.isNumeric(parseInt(data.battle_rank.value))?parseInt(data.battle_rank.value)+1:'n/a',facilitiesCaptured:parseInt(PS2.utils.hasNestedProperty(data,'stats.stat_history.facility_capture.all_time')?data.stats.stat_history.facility_capture.all_time:0),facilitiesDefended:PS2.utils.hasNestedProperty(data,'stats.stat_history.facility_defend.all_time')?parseInt(data.stats.stat_history.facility_defend.all_time):0,fireCount:charForeverStats.shotsFired,hitsCount:charForeverStats.shotsHit,kdRatio:0,kpm:(PS2.utils.hasNestedProperty(data,'stats.stat_history.kills.all_time')?parseInt(data.stats.stat_history.kills.all_time):0>0)?Math.round(parseInt(data.stats.stat_history.kills.all_time)/parseInt(data.stats.stat_history.time.all_time/60)*100)/100:'n/a',medalCount:PS2.utils.hasNestedProperty(data,'stats.stat_history.medals.all_time')?parseInt(data.stats.stat_history.medals.all_time):0,percentToNextRank:data.battle_rank.percent_to_next,pointsRemaining:0,pointsThisLevel:0,pointsToNext:0,score:charForeverStats.score,spm:(PS2.utils.hasNestedProperty(data,'stats.stat_history.time.all_time')&&data.stats.stat_history.time.all_time!="0")?(Math.round(charForeverStats.score/(parseInt(data.stats.stat_history.time.all_time/60))*10)/10):0,vehicleAccuracy:0,vehicleHitCount:0,vehicleFireCount:0,vehiclesDestroyed:charForeverStats.vehicleKills,weaponAccuracy:0,weaponHitCount:0,weaponFireCount:0},historical:data.stats.stat_history},vehicles:{vehicleList:getVehicles(appSettings.factions[data.faction_id].code),vehicleTopStats:{mostUsed:{name:'N/A',value:0},mostDestroyed:{name:'N/A',value:0},highScore:{name:'N/A',value:0},mostShots:{name:'N/A',value:0}}},weapons:{weaponList:getWeapons(),weaponTopStats:{mostUsed:{name:'N/A',value:0},mostKills:{name:'N/A',value:0},mostAccurate:{name:'N/A',value:0},mostHeadshots:{name:'N/A',value:0}}},};contextCharManip.stats.base.vehicleAccuracy=Math.round((data.vehicleHitCount/data.vehicleFireCount)*10000)/100;contextCharManip.stats.base.vehicleHitCount=data.vehicleHitCount;contextCharManip.stats.base.vehicleFireCount=data.vehicleFireCount;contextCharManip.stats.base.weaponAccuracy=Math.round((data.weaponHitCount/data.weaponFireCount)*10000)/100;contextCharManip.stats.base.weaponHitCount=data.weaponHitCount;contextCharManip.stats.base.weaponFireCount=data.weaponFireCount;var twoMonthsAgo=(new Date())-5184000000;contextCharManip.details.oldCharacter=false;if(twoMonthsAgo>(saved_time*1000)){contextCharManip.details.oldCharacter=true;}
if(contextCharManip.stats.historical.kills.all_time!='?'){contextCharManip.stats.base.kdRatio=Math.round((parseInt(contextCharManip.stats.historical.kills.all_time)/parseInt(contextCharManip.stats.historical.deaths.all_time))*100)/100;}else{contextCharManip.stats.base.kdRatio='?';}
if(contextCharManip.stats.base.kdRatio!='?'&&!$.isNumeric(contextCharManip.stats.base.kdRatio)){contextCharManip.stats.base.kdRatio='<em class="infinity">&#8734;</em>';}
if(contextCharManip.stats.base.battleRank<100&&appSettings.battleRankTable&&appSettings.battleRankTable[contextCharManip.stats.base.battleRank]){contextCharManip.stats.base.pointsToNext=(contextCharManip.stats.base.battleRank>1)?parseInt(appSettings.battleRankTable[contextCharManip.stats.base.battleRank].min)-parseInt(appSettings.battleRankTable[contextCharManip.stats.base.battleRank-1].min):parseInt(appSettings.battleRankTable[contextCharManip.stats.base.battleRank].min);}else{contextCharManip.stats.base.pointsToNext=0;}
contextCharManip.stats.base.pointsThisLevel=(contextCharManip.stats.base.battleRank>1)?contextCharManip.stats.base.score-parseInt(appSettings.battleRankTable[contextCharManip.stats.base.battleRank-1].min):contextCharManip.stats.base.score;contextCharManip.stats.base.pointsRemaining=contextCharManip.stats.base.pointsToNext-contextCharManip.stats.base.pointsThisLevel;if(contextCharManip.stats.base.pointsRemaining<0){contextCharManip.stats.base.pointsRemaining=0;}
_.each(contextCharManip.weapons.weaponList,function(item){if(item.timePlayed>contextCharManip.weapons.weaponTopStats.mostUsed.value){if(item.weapon_details.type!='knife'){contextCharManip.weapons.weaponTopStats.mostUsed.value=item.timePlayed;contextCharManip.weapons.weaponTopStats.mostUsed.name=PS2.utils.getLocaleString(appSettings.itemsTable['item_'+item.item_id].name,i18n.langCode,"<em>[no name]</em>");}}
if(item.kills>contextCharManip.weapons.weaponTopStats.mostKills.value){contextCharManip.weapons.weaponTopStats.mostKills.value=item.kills;contextCharManip.weapons.weaponTopStats.mostKills.name=PS2.utils.getLocaleString(appSettings.itemsTable['item_'+item.item_id].name,i18n.langCode,"<em>[no name]</em>");}
if(item.accuracy>contextCharManip.weapons.weaponTopStats.mostAccurate.value){contextCharManip.weapons.weaponTopStats.mostAccurate.value=item.accuracy;contextCharManip.weapons.weaponTopStats.mostAccurate.name=PS2.utils.getLocaleString(appSettings.itemsTable['item_'+item.item_id].name,i18n.langCode,"<em>[no name]</em>");}
if(item.headshots>contextCharManip.weapons.weaponTopStats.mostHeadshots.value){contextCharManip.weapons.weaponTopStats.mostHeadshots.value=item.headshots;contextCharManip.weapons.weaponTopStats.mostHeadshots.name=PS2.utils.getLocaleString(appSettings.itemsTable['item_'+item.item_id].name,i18n.langCode,"<em>[no name]</em>");}});_.each(contextCharManip.vehicles.vehicleList,function(vehicle){if(vehicle.timeUsed>contextCharManip.vehicles.vehicleTopStats.mostUsed.value){contextCharManip.vehicles.vehicleTopStats.mostUsed.value=vehicle.timeUsed;contextCharManip.vehicles.vehicleTopStats.mostUsed.name=vehicle.name;}
if(vehicle.destroyed>contextCharManip.vehicles.vehicleTopStats.mostDestroyed.value){contextCharManip.vehicles.vehicleTopStats.mostDestroyed.value=vehicle.destroyed;contextCharManip.vehicles.vehicleTopStats.mostDestroyed.name=vehicle.name;}
if(vehicle.score>contextCharManip.vehicles.vehicleTopStats.highScore.value){contextCharManip.vehicles.vehicleTopStats.highScore.value=vehicle.score;contextCharManip.vehicles.vehicleTopStats.highScore.name=vehicle.name;}
if(vehicle.shotsFired>contextCharManip.vehicles.vehicleTopStats.mostShots.value){contextCharManip.vehicles.vehicleTopStats.mostShots.value=vehicle.shotsFired;contextCharManip.vehicles.vehicleTopStats.mostShots.name=vehicle.name;}});_.each(contextCharManip.classes.classesList,function(classes){if(classes.timePlayed>contextCharManip.classes.classesTopStats.mostPlayed.value){contextCharManip.classes.classesTopStats.mostPlayed.value=classes.timePlayed;contextCharManip.classes.classesTopStats.mostPlayed.name=classes.name;}
if(classes.score>contextCharManip.classes.classesTopStats.bestScore.value){contextCharManip.classes.classesTopStats.bestScore.value=classes.score;contextCharManip.classes.classesTopStats.bestScore.name=classes.name;}
if(classes.spm>contextCharManip.classes.classesTopStats.bestSPM.value){contextCharManip.classes.classesTopStats.bestSPM.value=classes.spm;contextCharManip.classes.classesTopStats.bestSPM.name=classes.name;}});if(contextCharManip.details.rangeValid.day===false){contextCharManip.stats.historical.kills.day.d01=0;contextCharManip.stats.historical.score.day.d01=0;}
if(contextCharManip.details.rangeValid.week===false){contextCharManip.stats.historical.kills.week.w01=0;contextCharManip.stats.historical.score.week.w01=0;}
if(contextCharManip.details.rangeValid.month===false){contextCharManip.stats.historical.kills.month.m01=0;contextCharManip.stats.historical.score.month.m01=0;}
(contextCharManip.highchartData.weaponsArray=_(contextCharManip.weapons.weaponList).chain().first(5).map(function(weapon){return{name:weapon.name.toUpperCase()+'<span style="color:#4FD4E0"> ['+parseInt(weapon.kills)+']</span>',y:weapon.kills};}).value());if(!$.isNumeric(contextCharManip.stats.base.score)){contextCharManip.stats.base.score='n/a';}
if(!$.isNumeric(contextCharManip.stats.base.pointsRemaining)){contextCharManip.stats.base.pointsRemaining='n/a';}
this.set({charReady:true});return contextCharManip;}});

/* end /scripts/players/models/model-character.js*/

/* start /scripts/players/models/model-weapon.js*/
window.weapon=Backbone.Model.extend();window.attachment=Backbone.Model.extend();window.WeaponOverviewCollection=Backbone.Collection.extend({initialize:function(model,options){this.count=(options&&options.count)?options.count:500;},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.censusUrl+"/item?item_type_id=26&is_vehicle_weapon=0&item_category_id=!102,!20,!21,!22&c:has=name."+i18n.langCode+"&c:has=item_category_id&c:show=name."+i18n.langCode+",faction_id,image_path,item_category_id,item_id&c:join=item_category^on:item_category_id^to:item_category_id^inject_at:item_category_name^show:name."+i18n.langCode+",item_profile^on:item_id^to:item_id^inject_at:classes_list^list:1^show:profile_id&c:sort=name."+i18n.langCode+"&c:limit="+this.count;},parse:function(response){var data=response.item_list;var weaponTypes=[];_.each(data,function(weapon,index){if(!parseInt(weapon.faction_id)){weapon.faction='nc tr vs ns';}else{weapon.faction=appSettings.factions[weapon.faction_id].code;}
weapon.name=weapon.name[i18n.langCode];if(weapon.item_category_name&&weapon.item_category_name.name){weapon.type=weapon.item_category_name.name[i18n.langCode].toLowerCase().replace(' ','_').replace(/ ?\(.+?\)/,"");if(!_.contains(weaponTypes,weapon.type)){weaponTypes.push(weapon.type);}}else{weapon.type="unknown";weapon.item_category_name={name:''};}
weapon.imgUrl=appSettings.censusFileRootUrl+weapon.image_path;var useableClasses=[];_.each(weapon.classes_list,function(charClass){useableClasses.push(appSettings.profilesTable[charClass.profile_id].name.toLowerCase().replace(' ','_'));});weapon.useableBy=_.uniq(useableClasses).join(' ');});appSettings.weaponTypes=weaponTypes;return data;}});window.AttachmentCollection=Backbone.Collection.extend({initialize:function(model,options){options=options||{};this.type=options.type||'weapon';this.parentID=options.parentID||0;this.vehicleID=options.vehicleID||0;this.itemType=options.item_type||0;this.faction=options.faction||1;this.uniqueFilter=options.uniqueFilter||false;this.noAttachments=["17","18","2"];},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},url:function(){if(this.type=="weapon"){if(!this.itemType||_.contains(this.noAttachments,this.itemType)){return appSettings.censusUrl+'/item?item_id='+this.parentID+'&c:show=item_id,description&c:lang='+i18n.langCode;}else{return appSettings.censusUrl+"/weapon_datasheet?item_id="+this.parentID+"&c:show=item_id,capacity,clip_size,fire_rate_ms,range.en,show_clip_size,show_fire_modes,show_range&c:join=item^on:item_id^to:item_id^inject_at:weapon^show:description'item_category_id(item_category^on:item_category_id^to:item_category_id^inject_at:item_category_name^show:name),fire_mode^on:item_id^to:item_id^terms:type=primary^inject_at:primary_fire_mode^show:indirect_damage_max'indirect_damage_max_range'indirect_damage_min'indirect_damage_min_range'max_speed'damage'damage_type'default_zoom'pellet_spread'pellets_per_shot'cof_recoil'damage_max'damage_max_range'damage_min'damage_min_range'damage_radius'muzzle_velocity'reload_chamber_time_ms'reload_time_ms'player_state_group_id(player_state_group^inject_at:player_state_group^list:1^hide:player_state_group_id),fire_mode^on:item_id^to:item_id^list:1^terms:type=primary^inject_at:fire_mode_list^show:description.en,fire_mode^on:item_id^to:item_id^terms:type=secondary^inject_at:secondary_fire_mode^show:cof_recoil'player_state_group_id(player_state_group^inject_at:player_state_group^list:1^hide:player_state_group_id),item_attachment^on:item_id^to:item_id^list:1^inject_at:attachment_list^hide:item_id(item^on:attachment_item_id^to:item_id^inject_at:attachment_details^show:name."+i18n.langCode+"'description."+i18n.langCode+"'image_path^terms:is_default_attachment=0^outer:0)&c:tree=start:primary_fire_mode.player_state_group^field:player_state,start:secondary_fire_mode.player_state_group^field:player_state&c:lang="+i18n.langCode;}}else{return appSettings.censusUrl+"/vehicle?vehicle_id="+this.vehicleID+"&c:show=name,description,vehicle_id&c:join=vehicle_attachment^list:1^inject_at:attachment_list(item^terms:item_type_id=26'faction_id="+this.faction+"^outer:0^inject_at:attachment_details^show:name'description'image_path)&c:lang="+i18n.langCode;}},parse:function(response){if(this.type=="weapon"){return this.weaponParse(response);}else{return this.vehicleParse(response);}},weaponParse:function(response){if(!this.itemType||_.contains(this.noAttachments,this.itemType)){var data=response.item_list[0];data.description=data.description[i18n.langCode];return data;}
var data=response.weapon_datasheet_list[0];data.fire_mode_list=_.pluck(_.pluck(data.fire_mode_list,'description'),'en');data.rpm=Math.round(60000/data.fire_rate_ms);data.description=(data.weapon.description)?data.weapon.description[i18n.langCode]||'n/a':'n/a';data.hipFire=[this.dec2(data.primary_fire_mode.player_state_group.Crouching.min_cone_of_fire),this.dec2(data.primary_fire_mode.player_state_group.CrouchWalking.min_cone_of_fire),this.dec2(data.primary_fire_mode.player_state_group.Standing.min_cone_of_fire),this.dec2(data.primary_fire_mode.player_state_group.Running.min_cone_of_fire),this.dec2(data.primary_fire_mode.cof_recoil)];if(data.secondary_fire_mode){data.zoomFire=[this.dec2(data.secondary_fire_mode.player_state_group.Crouching.min_cone_of_fire),this.dec2(data.secondary_fire_mode.player_state_group.CrouchWalking.min_cone_of_fire),this.dec2(data.secondary_fire_mode.player_state_group.Standing.min_cone_of_fire),this.dec2(data.secondary_fire_mode.player_state_group.Running.min_cone_of_fire),this.dec2(data.secondary_fire_mode.cof_recoil)];}else{data.zoomFire=[];}
if(data.primary_fire_mode.damage_type=="Damage"){data.primary_fire_mode.damage_max=data.primary_fire_mode.damage_min=data.primary_fire_mode.damage;data.primary_fire_mode.damage_max_range=0;data.primary_fire_mode.damage_min_range=100;}
data.primary_fire_mode.muzzle_velocity=data.primary_fire_mode.muzzle_velocity||data.primary_fire_mode.max_speed;data.longReload=(data.primary_fire_mode.reload_chamber_time_ms)?parseInt(data.primary_fire_mode.reload_time_ms)+parseInt(data.primary_fire_mode.reload_chamber_time_ms):parseInt(data.primary_fire_mode.reload_time_ms);data.longReload=this.dec2(data.longReload/1000);data.shortReload=this.dec2(parseInt(data.primary_fire_mode.reload_time_ms)/1000);if(!data.weapon.item_category_name){data.weapon.item_category_name={name:{}};}
return data;},dec2:function(num){return Math.round(parseFloat(num)*100)/100;},vehicleParse:function(response){var data=response.vehicle_list[0];data.description=data.description[i18n.langCode];return data;}});

/* end /scripts/players/models/model-weapon.js*/

/* start /scripts/players/models/model-vehicle.js*/
window.VehicleModel=Backbone.Collection.extend({initialize:function(options){this.count=(options&&options.count)?options.count:1000;this.vCode=(options&&options.vCode)?options.vCode:'';},url:function(){return appSettings.censusUrl+"/vehicle/?type_id=1,2,5,7,8&vehicle_id=!112&c:show=name."+i18n.langCode+",cost,cost_resource_id,description."+i18n.langCode+",faction,image_id,image_path,image_set_id,vehicle_id&c:join=vehicle_faction^list:1^show:faction_id^inject_at:faction^collapse:1&c:limit="+this.count;},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},parse:function(response){return this.parseV2(response);},parseV2:function(response){var _this=this;var data=response.vehicle_list;var allVehiclesList=[];var indexed={};_.each(data,function(veh){if(typeof veh.name!=="undefined"){veh.name=veh.name[i18n.langCode];veh.description=function(){if(veh.description&&veh.description[i18n.langCode]){return veh.description[i18n.langCode];}else{return{en:''};}};if(veh.faction){_.each(veh.faction,function(faction){allVehiclesList.push(_this.reducedVehicleV2(veh,parseInt(faction)));});}else if(veh.vehicle_id=='13'){allVehiclesList.push(_this.reducedVehicleV2(veh,1));allVehiclesList.push(_this.reducedVehicleV2(veh,2));allVehiclesList.push(_this.reducedVehicleV2(veh,3))}
indexed[veh.vehicle_id]=veh;}});appSettings.allVehiclesList=allVehiclesList;allVehiclesList=null;return indexed;},reducedVehicleV2:function(veh,faction){var factionCode=appSettings.factions[faction].code;return{name:veh.name,vehicleFaction:factionCode,imgUrl:'https://www-cdn.planetside2.com/images/players/player/vehicles/'+veh.vehicle_id+'-'+factionCode+'.png?v=2485487002',description:veh.description,vehId:veh.vehicle_id,faction_id:faction};},parseV1:function(response){var _this=this;var data=response.vehicle_list;var ignoreSlots=['Hood/Cockpit','Pattern','Decal','Horn','Misc','Planetside 2','Cockpit Glass Decal Slot','Headlights'];var tempData={};_.each(data,function(vehicle){vehicle.name=vehicle.name[i18n.langCode];vehicle.description=vehicle.description[i18n.langCode];vehicle.attachmentList={'tr':[],'nc':[],'vs':[],'ns':[]};if(!~vehicle.code.toLowerCase().indexOf('turret')&&vehicle.id!=='13'){_.each(vehicle.faction_list,function(faction){var ignoreSlotIDs=[];_.each(faction.position_list,function(slot){if(_.contains(ignoreSlots,slot.position.en)){ignoreSlotIDs.push(slot.slot_id);}});_.each(faction.slot_list,function(slot_list){if(!_.contains(ignoreSlotIDs,slot_list.slot_id)){_.each(slot_list.item_list,function(item){vehicle.attachmentList[faction.code].push(item);});}});});}else{if(vehicle.id=='102'){vehicle.faction_list=[];}else if(vehicle.id=='13'){vehicle.faction_list=[{code:'vs'},{code:'nc'},{code:'tr'},{code:'ns'}];}
vehicle.name=vehicle.name.replace(/\(.+?\)/,'');vehicle.code=vehicle.code.replace(/_\(.+?\)/,'');}
tempData[vehicle.id]=vehicle;});data=tempData;tempData={};appSettings.allVehiclesList=[];_.each(data,function(item){if(item.faction_list.length){_.each(item.faction_list,function(empire){appSettings.allVehiclesList.push(_this.reducedVehicle(item,empire));});}else{appSettings.allVehiclesList.push(_this.reducedVehicle(item,'ns'));}});return data;},reducedVehicle:function(item,empire){empire=(empire.code)?empire:{'code':empire};return{name:item.name,vehicleFaction:empire.code,imgUrl:'https://www-cdn.planetside2.com/images/players/player/vehicles/'+item.vehicle_id+'-'+empire.code+'.png?v=2485487002',description:item.description,vehId:item.id,attachmentList:item.attachmentList};}});

/* end /scripts/players/models/model-vehicle.js*/

/* start /scripts/players/models/model-searchResults.js*/
window.searchResults=Backbone.Model.extend();window.SearchResultsCollection=Backbone.Collection.extend({initialize:function(model,options){var searchTerm=window.location.toString().split('/search/',2);this.query=((options&&options.query)?options.query:'');app.currQuery=this.query;this.show="&c:show=name.first,character_id,faction_id,battle_rank.value&c:resolve=world";this.limit=PS2.utils.gup('limit')?PS2.utils.gup('limit'):15;window.shPag={};window.shPag['limit']=this.limit;this.next=PS2.utils.gup('next')?PS2.utils.gup('next'):'';this.prev=PS2.utils.gup('prev')?PS2.utils.gup('prev'):'';this.last=PS2.utils.gup('last')?PS2.utils.gup('last'):'';this.url=appSettings.censusUrl+"/character/?&c:limit="+this.limit+"&name.first_lower=ReturnEmptyResultForPS2PlayerSearch"+this.show;if(this.next!=''){this.url=appSettings.censusUrl+"/character/?&c:limit="+this.limit+"&c:sort=name.first_lower&name.first_lower=>"+(this.next).toString().toLowerCase()+this.show;}
if(this.prev!=''){this.url=appSettings.censusUrl+"/character/?&c:limit="+this.limit+"&c:sort=name.first_lower:-1&name.first_lower=<"+(this.prev).toString().toLowerCase()+"&c:reverse=1"+this.show;}
if(this.last!=''){this.url=appSettings.censusUrl+"/character/?&c:limit="+this.limit+"&c:sort=name.first_lower:-1&c:reverse=1"+this.show;}
if(((window.location.toString()).indexOf('?')==-1)&&(searchTerm[1]!='')&&(searchTerm[1]!=undefined)){this.url=appSettings.censusUrl+"/character/?&c:limit="+this.limit+"&c:sort=name.first_lower&name.first_lower=^"+searchTerm[1].toLowerCase()+this.show;}},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:this.urls(),processData:false,timeout:30000,cache:true},options);return Backbone.sync(method,model,params);},urls:function(){return this.url;},parse:function(response){_.each(response.character_list,function(character){if(character.world_id&&appSettings.worldsTable&&appSettings.worldsTable['world_'+character.world_id]){character.world=appSettings.worldsTable['world_'+character.world_id].name[i18n.langCode];}else{character.world=i18n.leaderboardsTop.worldData.worldUnavailable;}
character.type={faction:appSettings.factions[character.faction_id].code}},this);PS2.search.init(response);return PS2.search.getResponse();}});

/* end /scripts/players/models/model-searchResults.js*/

/* start /scripts/players/models/model-leaderboards.js*/
window.LeaderboardTopCollection=Backbone.Collection.extend({initialize:function(options){this.view=options.view||PS2.utils.gup('view');this.name=options.name||PS2.utils.gup('name');this.period=options.period||PS2.utils.gup('period');this.limit=options.limit||PS2.utils.gup('limit');this.world=options.world||PS2.utils.gup('world');if(this.limit>10){this.limit=10}},sync:function(method,model,options){var params=_.extend({},appSettings.syncConfigs,{url:model.url()},options);return Backbone.sync(method,model,params);},url:function(){if(this.view=='Friends'){return appSettings.censusCharLBUrl+appSettings.friendsIds+","+app.contextCharacter.get('id')+"&name="+this.name+"&period="+this.period+"&world="+this.world+"&c:limit="+appSettings.friendsIds.length+'&c:resolve=character(name,faction_id),world';}else{return appSettings.censusLBUrl+"/?name="+this.name+"&period="+this.period+"&world="+this.world+"&c:limit="+this.limit+'&c:resolve=character(name,faction_id),world';}},parse:function(response){return this.lbTopManip(response);},lbTopManip:function(data){var list='leaderboard_list';if(this.view=='Friends'){list='characters_leaderboard_list'}
_.each(data[list],function(character){character.unknown=false;if(!character.faction_id){character.faction_id=0;}
if(!character.name){character.name={first:'[unknown]'};character.unknown=true;}
if(!character.world_id){character.world_id=0;}
if(character.faction_id==0){character.faction='noFaction'}else{character.faction=appSettings.factions[character.faction_id].code;}
if(character.world_id==0){character.world='<em>[unknown]</em>'}else{character.world=appSettings.worldsTable['world_'+character.world_id].name[i18n.langCode];}
character.rank=(parseInt(character.rank)+1);});return data;}});window.LeaderboardListFriends=Backbone.Collection.extend({initialize:function(options){this.name=options.name||PS2.utils.gup('name');this.period=options.period||PS2.utils.gup('period');this.limit=options.limit||PS2.utils.gup('limit');this.world=options.world||PS2.utils.gup('world');this.activeChar=options.activeChar||false;this.lbNames=['Kills','Time','Score'];this.paginationOptions={count:options.count||0,totalPages:options.totalPages||1,currentPage:options.currentPage||1}
this.start=options.start||PS2.utils.gup('start');this.buildJoinUrl=function(){var _this=this;var urlJoin='&c:join=';_.each(_this.lbNames,function(lbName){urlJoin+="characters_leaderboard^on:character_id^terms:name="+lbName+"'period="+_this.period.toLowerCase()+"^hide:id^inject_at:lb"+lbName+",";});urlJoin+="characters_stat^on:character_id^list:1^terms:profile_id=0'stat_name=weapon_deaths'stat_name=weapon_fire_count'stat_name=weapon_hit_count'stat_name=weapon_play_time'stat_name=weapon_score^show:last_save'stat_name'value_"+_this.period.toLowerCase()+"^inject_at:stats&c:tree=start:stats^field:stat_name";urlJoin+="&c:join=characters_stat_history^on:character_id^show:all_time'stat_name'last_save'day.d01'week.w01'month.m01^inject_at:stat_history^list:1&c:tree=start:stat_history^field:stat_name"
return urlJoin;}},sync:function(method,model,options){var params=_.extend({},appSettings.syncConfigs,{url:model.url()},options);return Backbone.sync(method,model,params);},url:function(){var _this=this;var activeCharId=app.activeUser.toJSON().activeChar||'';if(this.activeChar){return appSettings.censusFriendsLBUrl+activeCharId+"/?c:show=name.first,faction_id,character_id"+_this.buildJoinUrl();}else{return appSettings.censusFriendsLBUrl+appSettings.friendsIds+','+activeCharId+"/?c:show=name.first,faction_id,character_id&c:count=1"+_this.buildJoinUrl();}},parse:function(response){return this.lbFriendsManip(response);},lbFriendsManip:function(data){var _this=this;if(!_this.activeChar){console.log(data);_this.paginationOptions.count=data.count;_this.paginationOptions.totalPages=Math.ceil(parseInt(_this.paginationOptions.count)/parseInt(_this.limit));if(_this.paginationOptions.totalPages==0){_this.paginationOptions.totalPages=1;}
for(i=0;i<=_this.paginationOptions.totalPages;i++){if((i*parseInt(_this.limit))<parseInt(_this.start)){_this.paginationOptions.currentPage++}}}
var checkRangeValidity=function(timestamp){var rangeValid=PS2.utils.isDateRangeValid(appSettings.serverTime,timestamp);var isValid={valid:false,period:_this.period,abbr:_this.period.slice(0,1).toLowerCase(),code:''};if(_this.period=='Daily'){isValid.valid=rangeValid.day==true?true:false;isValid.code='day'}else if(_this.period=='Weekly'){isValid.valid=rangeValid.week==true?true:false;isValid.code='week';}else if(_this.period=='Monthly'){isValid.valid=rangeValid.month==true?true:false;isValid.code='month';}
return isValid;};_.each(data.character_list,function(character){character.lbType=_this.name;character.faction=appSettings.factions[character.faction_id].code;character.kills=0;if(character.lbKills){character.kills=character.lbKills.value;}else if(character.stat_history){if(character.stat_history.kills){if(_this.period=='Forever'){character.kills=parseInt(character.stat_history.kills.all_time);}else{var dateInRange=checkRangeValidity(character.stat_history.kills.last_save);if(dateInRange.valid){character.kills=parseInt(character.stat_history.kills[dateInRange.code][dateInRange.abbr+'01']);}else{character.kills=0;}}}}
character.time=0;if(character.lbTime){character.time=character.lbTime.value;}else if(character.stats){if(character.stats.weapon_play_time){if(_this.period=='Forever'){character.time=character.stats.weapon_play_time.value_forever;}else{var dateInRange=checkRangeValidity(character.stats.weapon_play_time.last_save);if(dateInRange.valid){character.time=character.stats.weapon_play_time['value_'+_this.period.toLowerCase()];}}}}
character.score=0;if(character.lbScore){character.score=character.lbScore.value;}else if(character.stats){if(character.stats.weapon_score){if(_this.period=='Forever'){character.score=character.stats.weapon_score.value_forever;}else{var dateInRange=checkRangeValidity(character.stats.weapon_score.last_save);if(dateInRange.valid){character.score=character.stats.weapon_score['value_'+_this.period.toLowerCase()];}}}}
var statTypes={'kills':0,'deaths':0};_.each(statTypes,function(stat,statIndex){if(character.stat_history){if(character.stat_history[statIndex]){if(_this.period=='Forever'){statTypes[statIndex]=parseInt(character.stat_history[statIndex].all_time);}else{var dateInRange=checkRangeValidity(character.stat_history[statIndex].last_save);if(dateInRange.valid){statTypes[statIndex]=parseInt(character.stat_history[statIndex][dateInRange.code][dateInRange.abbr+'01']);}else{statTypes[statIndex]=0;}}}}});character.kdr=Math.round((statTypes.kills/statTypes.deaths)*100)/100;if(!$.isNumeric(character.kdr)){character.kdr=0;}
var shotsFired=0;var shotsHit=0;if(character.stats){if(character.stats.weapon_fire_count){if(_this.period=='Forever'){shotsFired=character.stats.weapon_fire_count.value_forever}else{var dateInRange=checkRangeValidity(character.stats.weapon_fire_count.last_save);if(dateInRange.valid){shotsFired=character.stats.weapon_fire_count['value_'+_this.period.toLowerCase()];}}}
if(character.stats.weapon_hit_count){if(_this.period=='Forever'){shotsHit=character.stats.weapon_hit_count.value_forever}else{var dateInRange=checkRangeValidity(character.stats.weapon_hit_count.last_save);if(dateInRange.valid){shotsHit=character.stats.weapon_hit_count['value_'+_this.period.toLowerCase()];}}}}
character.accuracy=Math.round((shotsHit/shotsFired)*100*10)/10;if(!$.isNumeric(character.accuracy)){character.accuracy=0;}
character.rank='>10000';if(character['lb'+_this.name]){character.rank=parseInt(character['lb'+_this.name].rank)+1;}});var sortedData=_.sortBy(data.character_list,function(val,key,object){if(_this.name=='Kills'){return-val.kills;}else if(_this.name=='Time'){return-val.time;}else if(_this.name=='Score'){return-val.score;}});data.character_list=sortedData;return data;}});window.LeaderboardListCollection=Backbone.Collection.extend({initialize:function(options){this.view=options.view||PS2.utils.gup('view');this.name=options.name||PS2.utils.gup('name');this.period=options.period||PS2.utils.gup('period');this.limit=options.limit||PS2.utils.gup('limit');this.world=options.world||PS2.utils.gup('world');this.start=options.start||PS2.utils.gup('start');this.paginationOptions={count:options.count||0,totalPages:options.totalPages||1,currentPage:options.currentPage||1}
this.lbNames=['Kills','Time','Score'];if(this.limit>100){this.limit=100}
this.buildJoinUrl=function(){var _this=this;var urlJoin='&c:join=';_.each(_this.lbNames,function(lbName){if(lbName!=_this.name){urlJoin+="characters_leaderboard^on:character_id^terms:name="+lbName+"'period="+_this.period.toLowerCase()+"^inject_at:lb"+lbName+",";}});urlJoin+="&c:join=characters_stat_history^on:character_id^show:all_time'stat_name'last_save'day.d01'week.w01'month.m01^inject_at:character.stat_history^list:1&c:tree=start:character.stat_history^field:stat_name";return urlJoin;}},sync:function(method,model,options){var params=_.extend({},appSettings.syncConfigs,{url:model.url()},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.censusLBUrl+"/?name="+this.name+"&period="+this.period+'&world='+this.world+"&c:limit="+this.limit+"&c:start="+this.start+'&c:resolve=character(name,faction_id),&c:count=1&c:join_alias=characters_stat_'+this.period.toLowerCase()+this.buildJoinUrl();},parse:function(response){return this.lbListManip(response);},lbListManip:function(data){var _this=this;_this.paginationOptions.count=data.count;_this.paginationOptions.totalPages=Math.ceil(parseInt(_this.paginationOptions.count)/parseInt(_this.limit));for(i=0;i<=_this.paginationOptions.totalPages;i++){if((i*parseInt(_this.limit))<parseInt(_this.start)){_this.paginationOptions.currentPage++}}
var periodType=_this.period.toLowerCase();_.each(data.leaderboard_list,function(character){character.lbType=_this.name;character.rank=(parseInt(character.rank)+1);if(!character.faction_id){character.faction_id=0;}
if(character.faction_id==0){character.faction='noFaction'}else{character.faction=appSettings.factions[character.faction_id].code;}
if(!character.name){character.name={first:'[unknown]'};character.unknown=true;}
var setDefaults=function(){character.deaths=0;character.fire_count=0;character.hit_count=0;character.kills=0;character.time=0;character.score=0;character.kdr=0;character.accuracy=0;}
var historicalPeriod={'forever':{'name':'forever','abbr':'f'},'oneLife':{'name':'oneLife','abbr':'o'},'daily':{'name':'day','abbr':'d'},'weekly':{'name':'week','abbr':'w'},'monthly':{'name':'month','abbr':'m'}}
if(character.character){var statPeriod='stat_'+periodType;if(character.character.stat_history){if(periodType=='forever'){if(character.character.stat_history.kills){character.killsKDR=parseInt(character.character.stat_history.kills.all_time);}else{character.killsKDR=0;}
if(character.character.stat_history.deaths){character.deaths=parseInt(character.character.stat_history.deaths.all_time);}else{character.deaths=0;}}else{var historicalTypes=['kills','deaths'];_.each(historicalTypes,function(type){if(character.character.stat_history[type]){var periodValid=PS2.utils.isDateRangeValid(appSettings.serverTime,character.character.stat_history[type].last_save);if(periodValid[historicalPeriod[periodType].name]){if(type=='kills'){character[type+'KDR']=parseInt(character.character.stat_history[type][historicalPeriod[periodType].name][historicalPeriod[periodType].abbr+'01']);}else{character[type]=parseInt(character.character.stat_history[type][historicalPeriod[periodType].name][historicalPeriod[periodType].abbr+'01']);}}else{if(type=='kills'){character[type+'KDR']=0;}else{character[type]=0;}}}else{if(type=='kills'){character[type+'KDR']=0;}else{character[type]=0;}}})}}else{setDefaults();}
if(character.character[statPeriod]){if(character.character[statPeriod].weapon_play_time){character.time=parseInt(character.character[statPeriod].weapon_play_time);}else{character.time=0;}
if(character.character[statPeriod].weapon_score){character.score=parseInt(character.character[statPeriod].weapon_score);}else{character.score=0;}
if(character.character[statPeriod].weapon_fire_count){character.fire_count=parseInt(character.character[statPeriod].weapon_fire_count);}else{character.fire_count=0;}
if(character.character[statPeriod].weapon_hit_count){character.hit_count=parseInt(character.character[statPeriod].weapon_hit_count);}else{character.hit_count=0;}}else{setDefaults();}}else{setDefaults();}
if(character.lbScore){character.score=parseInt(character.lbScore.value);}
if(character.lbTime){character.time=parseInt(character.lbTime.value);}
if(character.lbKills){character.kills=parseInt(character.lbKills.value);}else if(character.killsKDR){character.kills=character.killsKDR}else{character.kills=0}
if($.isNumeric(character.killsKDR)&&character.killsKDR>0){character.kdr=Math.round((character.killsKDR/character.deaths)*100)/100;}else{character.kdr=0;}
if($.isNumeric(character.fire_count)&&character.fire_count>0){character.accuracy=Math.round((character.hit_count/character.fire_count)*100*10)/10;}else{character.accuracy=0;}
if(_this.name=='Kills'){character.kills=character.value}
if(_this.name=='Time'){character.time=character.value}
if(_this.name=='Score'){character.score=character.value}});return data;}});

/* end /scripts/players/models/model-leaderboards.js*/

/* start /scripts/players/models/model-outfit.js*/
window.Outfit=Backbone.Model.extend();window.OutfitCollection=Backbone.Collection.extend({initialize:function(model,options){options=options||{};this.options=options;this.options.searchName=options.searchName||PS2.utils.gup('name');this.options.outfit_id=options.outfit_id||PS2.utils.gup('outfit');this.options.limit=options.limit||PS2.utils.gup('limit');this.options.start=options.start||PS2.utils.gup('start');if(this.options.limit==''){this.options.limit=25;}
if(this.options.start==''){this.options.start='0';}
this.options.nextStart=parseInt(this.options.start)+parseInt(this.options.limit);this.options.prevStart=parseInt(this.options.start)-parseInt(this.options.limit);},sync:function(method,model,options){var params=_.extend({},appSettings.syncConfigs,{url:model.url()},options);return Backbone.sync(method,model,params);},url:function(){if(this.options.outfit_id!=''){return appSettings.censusUrl+"/outfit/"+this.options.outfit_id+"?c:resolve=leader&c:case=false";}else if(this.options.searchName!=''){return appSettings.censusUrl+'/outfit/?name=^'+this.options.searchName+"&c:limit="+this.options.limit+"&c:resolve=leader&c:count=1&c:start="+this.options.start+'&c:case=false';}else{return appSettings.censusUrl+"/outfit/?c:limit="+this.options.limit+"&c:resolve=leader&c:sort=time_created:-1&c:count=1&c:start="+this.options.start+'&c:case=false';}},parse:function(response){var data=this.outfitListManip(response);return data;},outfitListManip:function(data){var _this=this;this.options.totalOutfits=data.count;this.options.totalPages=Math.ceil(data.count/this.options.limit);if(this.options.nextStart>data.count){this.options.nextStart=0;}
if(this.options.prevStart<0){this.options.prevStart=0;}
var currentPage=1;for(i=0;i<=this.options.totalPages;i++){if((i*parseInt(this.options.limit))<parseInt(this.options.start)){currentPage++}}
this.options.currentPage=currentPage;_.each(data.outfit_list,function(outfit){if(!outfit.member_count){outfit.member_count='n/a'}
outfit.currentPage=currentPage;outfit.totalPages=Math.ceil(outfit.member_count/_this.options.limit);if(!outfit.leader){outfit.leader={name:{first:'n/a'},type:{faction:'unknown'}}}
if(!outfit.leader.type){outfit.leader.type={faction:'unknown'}}
outfit.leader.type.faction=appSettings.factions[outfit.leader.faction_id]?appSettings.factions[outfit.leader.faction_id].code:'unknown';});return data.outfit_list;}});window.OutfitMemberCollection=Backbone.Collection.extend({initialize:function(model,options){options=options||{};this.options=options;this.options.outfit_id=options.outfit_id||PS2.utils.gup('outfit');this.options.limit=options.limit||PS2.utils.gup('limit');this.options.start=options.start||PS2.utils.gup('start');if(this.options.limit==''){this.options.limit=25;}
if(this.options.start==''){this.options.start=0;}
this.options.nextStart=parseInt(this.options.start)+parseInt(this.options.limit);this.options.prevStart=parseInt(this.options.start)-parseInt(this.options.limit);},sync:function(method,model,options){var params=_.extend({},appSettings.syncConfigs,{url:model.url()},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.censusUrl+"/outfit_member/?outfit_id="+this.options.outfit_id+"&c:limit="+this.options.limit+"&c:resolve=outfit,character(battle_rank.value,times.minutes_played,character_id,faction_id,name,profile_id),online_status&c:sort=rank_ordinal,member_since&c:hide=id&c:count=1&c:start="+this.options.start+"&c:join_alias=characters_stat_history_all_time";},parse:function(response){var data=this.outfitMemberManip(response);return data;},outfitMemberManip:function(data){this.options.memberCount=data.count;this.options.memberPages=Math.ceil(this.options.memberCount/parseInt(this.options.limit));var currentMemberPage=1;for(i=0;i<=this.options.memberPages;i++){if((i*parseInt(this.options.limit))<parseInt(this.options.start)){currentMemberPage++}}
this.options.currentMemberPage=currentMemberPage;if(this.options.nextStart>data.count){this.options.nextStart=0;}
if(this.options.prevStart<0){this.options.prevStart=0;}
_.each(data.outfit_member_list,function(member){if(!member.character){member.character={active_profile:{id:0},times:{minutes_played:0},name:{first:i18n.outfitModel.outfitMemberManip.unknown},type:{faction:'n/a',rank:'n/a'},battle_rank:{value:'n/a'}};}
if(member.character.stat_history){_.each(member.character.stat_history,function(stat){if(stat.stat_name=='score'){member.character.stats={score:{value:stat.all_time}}}});}
if(!member.character.type){member.character.type={faction:'n/a',rank:'n/a'}}
if(!member.character.stats){member.character.stats={score:{value:0}}}
if(!member.character.battle_rank){member.character.battle_rank={value:'n/a'}}
if(!member.character.times){member.character.times={minutes_played:0}}
if(!member.character.name){member.character.name={first:i18n.outfitModel.outfitMemberManip.unknown}}
if(!member.character.stat_history_all_time){member.character.stat_history_all_time={score:0,time:0}}
member.spm=Math.round(parseInt(member.character.stat_history_all_time.score)/parseInt(member.character.stat_history_all_time.time/60));if(!$.isNumeric(member.spm)){member.spm='n/a';}
member.online=member.online_status==0?i18n.outfit.offline:i18n.outfit.online;member.character.type.rank=member.character.battle_rank.value;member.character.type.faction=appSettings.factions[member.character.faction_id]?appSettings.factions[member.character.faction_id].code:'n/a';member.bry=$.isNumeric(parseInt(member.character.battle_rank.value))?'-'+(parseInt(member.character.battle_rank.value-1)*35)+'px':'50px';if(member.character.type.faction=='tr'){member.brx='0px';}else if(member.character.type.faction=='nc'){member.brx='-35px'}else if(member.character.type.faction=='vs'){member.brx='-70px'}else if(member.character.type.faction=='ns'){member.brx='50px'}else{member.brx='50px'}
member.characterClass=appSettings.profilesTable[member.character.profile_id]?appSettings.profilesTable[member.character.profile_id].name:i18n.outfitModel.outfitMemberManip.unknown;});return data.outfit_member_list;}});

/* end /scripts/players/models/model-outfit.js*/

/* start /scripts/players/models/model-certifications.js*/
window.Certification=Backbone.Model.extend();window.CertificationCollection=Backbone.Collection.extend({initialize:function(model,options){this.count=(options&&options.count)?options.count:1000;},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},url:function(){return"https://census-stage.daybreakgames.com/json/get/ps2/profile/?id=<24&c:show=indentifier,description,name,rank_list,faction_id,identifier&c:limit="+this.count;},parse:function(response){return[{'id':1,'name':'medic','avatar':"http://i2.cdn.turner.com/cnn/dam/assets/120327081740-paul-gingrich-debate-t1-main.jpg",'general_stats':{'score':987,'accuracy':13.4,'time_played':1367403630,'shots_fired':234130},'world_stats':{'overall':{'kills':999,'headshots':355,'deaths':213,'KD_ration':1.19,'SPM':34,'accuracy':67,'more':467},'NC':{'kills':899,'headshots':255,'deaths':113,'KD_ration':1.15,'SPM':24,'accuracy':57,'more':367},'VS':{'kills':599,'headshots':155,'deaths':13,'KD_ration':1.01}},'certs':{'progression':23,'active_progress':3,'cert_1':{'name':'bob','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'bob desc','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_2':{'name':'john','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'john desc','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_3':{'name':'pluto','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'pluto desc','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_4':{'name':'micky','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'micky description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_5':{'name':'tarzan','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'tarzan description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_6':{'name':'elvis name','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'elivs description','points_require':2,'points_available':379,'link':'http://www.cnn.com'}}},{'id':2,'name':'Light Assult','avatar':"http://i2.cdn.turner.com/cnn/dam/assets/120210063653-madonna-c2-story-top.jpg",'general_stats':{'score':987,'accuracy':13.4,'time_played':1367403630,'shots_fired':234130},'world_stats':{'overall':{'kills':999,'headshots':355,'deaths':213,'KD_ration':1.19,'SPM':34,'accuracy':67,'more':467},'NC':{'kills':899,'headshots':255,'deaths':113,'KD_ration':1.15,'SPM':24,'accuracy':57,'more':367},'VS':{'kills':599,'headshots':155,'deaths':13,'KD_ration':1.01}},'certs':{'progression':23,'active_progress':8,'cert_1':{'name':'Today','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_2':{'name':'is such','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_3':{'name':'a','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_4':{'name':'great','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_5':{'name':'day','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_6':{'name':'some name','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'}}},{'id':3,'name':'Heavy Assult','avatar':"http://i2.cdn.turner.com/cnn/dam/assets/120327081740-paul-gingrich-debate-t1-main.jpg",'general_stats':{'score':987,'accuracy':13.4,'time_played':1367403630,'shots_fired':234130},'world_stats':{'overall':{'kills':999,'headshots':355,'deaths':213,'KD_ration':1.19,'SPM':34,'accuracy':67,'more':467},'NC':{'kills':899,'headshots':255,'deaths':113,'KD_ration':1.15,'SPM':24,'accuracy':57,'more':367},'VS':{'kills':599,'headshots':155,'deaths':13,'KD_ration':1.01}},'certs':{'progression':23,'active_progress':16,'cert_1':{'name':'Hello','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_2':{'name':'this is','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_3':{'name':'great','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_4':{'name':'life','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_5':{'name':'is','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'},'cert_6':{'name':'yummy','icon':'http://i2.cdn.turner.com/cnn/2011/images/07/08/sanjay.120x68.jpg','desc':'some description','points_require':2,'points_available':379,'link':'http://www.cnn.com'}}}]}});

/* end /scripts/players/models/model-certifications.js*/

/* start /scripts/players/models/model-killboard.js*/
window.killboard=Backbone.Model.extend();window.KillboardTimelineCollection=Backbone.Collection.extend({initialize:function(model,options){this.name="killboard";this.count=(options&&options.count)?options.count:100;this.filter=options.filter;if(this.filter=='all'){this.type='KILL,DEATH';}else if(this.filter=='kills'){this.type='KILL';}else if(this.filter=='deaths'){this.type='DEATH';}
this.resolve="&c:resolve=character(name,faction_id),attacker(name,faction_id)";},sync:function(method,model,options){var params=_.extend({},appSettings.syncConfigs,{url:model.url()},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.censusUrl+"/characters_event/?character_id="+app.contextCharacter.id+"&type="+this.type+"&c:limit="+this.count+this.resolve;},parse:function(response){var fomattedData=this.KBTimelineManip(response);return fomattedData;},KBTimelineManip:function(response){data=response.characters_event_list;_.each(data,function(deathEvent){deathEvent.continent='n/a'
$.each(appSettings.CONTINENTS,function(){if(this.zone==deathEvent.zone_id){deathEvent.continent=this.name;}});if(!deathEvent.character){deathEvent.character={};}else{deathEvent.character.type={faction:appSettings.factions[deathEvent.character.faction_id].code}}
if(!deathEvent.attacker){deathEvent.attacker={};}else{deathEvent.attacker.type={faction:appSettings.factions[deathEvent.attacker.faction_id].code}}
$.each(appSettings.vehicleTable,function(){if(this.vehicle_id==deathEvent.attacker_vehicle_id){var vehicleFaction;var vehicleId=deathEvent.attacker_vehicle_id;deathEvent.vehicle=this.name;if(this.faction.length<3){vehicleFaction=appSettings.factions[this.faction[0]].code;}else{if(deathEvent.attacker&&deathEvent.attacker.type&&deathEvent.attacker.type.faction){vehicleFaction=deathEvent.attacker.type.faction;}else if(deathEvent.character&&deathEvent.character.type&&deathEvent.character.type.faction){vehicleFaction=deathEvent.character.type.faction;}else{vehicleFaction='unknown';vehicleId='vehicle';}}
deathEvent.vehicleImage='https://www-cdn.planetside2.com/images/players/player/vehicles/'+vehicleId+'-'+vehicleFaction+'.png?v=2485487002';}});if(!deathEvent.vehicle){deathEvent.vehicle='';}
if(appSettings.itemsTable['item_'+deathEvent.attacker_weapon_id]){deathEvent.weaponImage=appSettings.censusFileRootUrl+appSettings.itemsTable['item_'+deathEvent.attacker_weapon_id].image_path;deathEvent.weapon=appSettings.itemsTable['item_'+deathEvent.attacker_weapon_id].name[i18n.langCode];}
if(!deathEvent.weapon){deathEvent.weapon='';}
if(deathEvent.character_id==deathEvent.attacker_character_id){if(deathEvent.table_type=='deaths'){deathEvent.type='suicideDeath';}else{deathEvent.type='suicideKill';}}else if(deathEvent.character_id==app.contextCharacter.id){deathEvent.rowType='attacker';if(deathEvent.vehicle!=''){if(deathEvent.weapon!=''){deathEvent.type='vehicleWeaponDeath';}else{deathEvent.type='vehicleDeath';}}else if(deathEvent.weapon!=''){deathEvent.type='death';}else{deathEvent.type='unknownDeath';}}else if(deathEvent.attacker_character_id==app.contextCharacter.id){deathEvent.rowType='character';if(deathEvent.vehicle!=''){if(deathEvent.weapon!=''){deathEvent.type='vehicleWeaponKill';}else{deathEvent.type='vehicleKill';}}else if(deathEvent.weapon!=''){deathEvent.type='kill';}else{deathEvent.type='unknownKill';}}else{deathEvent.type='unknown';deathEvent.rowType='unknown';}});return data;}});window.KillboardAggregateCollection=Backbone.Collection.extend({initialize:function(model,options){this.count=(options&&options.count)?options.count:1000;this.view=(options&&options.view)?options.view:['deaths'];if(this.view=='kills'){this.type='KILL';}else if(this.view=='deaths'){this.type='DEATH'}},sync:function(method,model,options){var params=_.extend({},appSettings.syncConfigs,{url:model.url()},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.censusUrl+"/characters_event_grouped/?character_id="+app.contextCharacter.id+"&type="+this.type+"&c:resolve=character(name.first,faction_id,battle_rank.value)&c:limit=101&c:join_alias=characters_stat_history_all_time,characters_stat_forever";},parse:function(response){var formattedData=this.KBAggregateManip(response);return formattedData;},KBAggregateManip:function(response){var data=response.characters_event_grouped_list;var getIndex=-1;var contextCharacterIndex=null;_.each(data,function(deathEvent){getIndex++;if(deathEvent.character_id==app.contextCharacter.toJSON().id){contextCharacterIndex=getIndex;}
if(deathEvent.character){if(deathEvent.character.faction_id){deathEvent.character.type={faction:appSettings.factions[deathEvent.character.faction_id].code};}else{deathEvent.character.type={faction:'n/a'}};if(!deathEvent.character.battle_rank){deathEvent.character.battle_rank={value:'n/a'}}
if(!deathEvent.character.name){deathEvent.character.name={'first':'n/a'};}}else{deathEvent.character={'name':{'first':'n/a'},'type':'unknown','battle_rank':{'value':0},forever:{kill_death_ratio:'n/a'}};}
if(!deathEvent.character.stat_history_all_time){deathEvent.character.forever={kill_death_ratio:'n/a'};}
if(!deathEvent.character.forever){deathEvent.character.forever={kill_death_ratio:Math.round((deathEvent.character.stat_history_all_time.kills/deathEvent.character.stat_history_all_time.deaths)*100)/100}}
if(!$.isNumeric(deathEvent.character.forever.kill_death_ratio)){deathEvent.character.forever.kill_death_ratio='n/a';}
deathEvent.bry=$.isNumeric(parseInt(deathEvent.character.battle_rank.value))&&deathEvent.character.battle_rank.value>0?'-'+(parseInt(deathEvent.character.battle_rank.value-1)*35)+'px':'50px';if(deathEvent.character.type.faction=='tr'){deathEvent.brx='0px';}else if(deathEvent.character.type.faction=='nc'){deathEvent.brx='-35px'}else if(deathEvent.character.type.faction=='vs'){deathEvent.brx='-70px'}else if(deathEvent.character.type.faction=='ns'){deathEvent.brx='50px'}else{deathEvent.brx='50px'}});if(contextCharacterIndex!=null){data.splice(contextCharacterIndex,1);}
return data;}});

/* end /scripts/players/models/model-killboard.js*/

/* start /scripts/players/models/model-userCharacterIds.js*/
window.UserCharacterInformationModel=Backbone.Model.extend({initialize:function(options){this.charIdsList=options.charIdsList||[];},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.censusUrl+"/character/"+this.charIdsList.join(',')+"?c:show=character_id,faction_id,name.first,battle_rank.value&c:resolve=stat_history(stat_name,all_time),world&c:limit="+this.charIdsList.length;},parse:function(response){data=response.character_list;_.each(data,function(char){char.faction=appSettings.factions[char.faction_id].code;});return data;}});

/* end /scripts/players/models/model-userCharacterIds.js*/

/* start /scripts/players/models/model-charHistoricalEvents.js*/
window.CharacterHistorialEvents=Backbone.Model.extend({initialize:function(options){this.id=options.id},defaults:{},url:function(){return appSettings.historicalUrl+'?character_id='+this.id+"&type=BATTLE_RANK,ITEM&c:limit=20";},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},parse:function(response){var fomattedData=this.characterHistoricalEventsManip(response);return fomattedData;},characterHistoricalEventsManip:function(response){var data=[];_.each(response.characters_event_list,function(item){if(data.length<8){if(item.event_type=='ItemAdded'){if(item.context!="RequestTrialItemLine"&&appSettings.itemsTable['item_'+item.item_id]){data.push(item);}}else{data.push(item);}}})
return data;}});

/* end /scripts/players/models/model-charHistoricalEvents.js*/

/* start /scripts/players/models/model-friends.js*/
window.FriendsList=Backbone.Model.extend({initialize:function(options){this.id=options.id;},url:function(){return appSettings.friendsIdsUrl+'?character_id='+this.id+'&c:join=character^show:name.first^on:friend_list.character_id^to:character_id^inject_at:character';},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},parse:function(response){if(response.characters_friend_list&&response.characters_friend_list[0]){var data=response.characters_friend_list[0];var flist={};_.each(data.friend_list,function(friend){if(friend.character&&friend.character.name&&friend.character.name.first){flist[friend.character_id]=friend;}});data.friendsList=flist;return data;}else{return[];}}});

/* end /scripts/players/models/model-friends.js*/

/* start /scripts/players/models/model-characterWorld.js*/
window.CharacterWorlds=Backbone.Model.extend({initialize:function(options){this.worldIds=options.ids.toString();},defaults:{},url:function(){return appSettings.characterWorldUrl+this.worldIds;},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},parse:function(response){return response;}});

/* end /scripts/players/models/model-characterWorld.js*/

/* start /scripts/players/models/model-mapRegions.js*/
window.MapData=Backbone.Model.extend();window.MapDataCollection=Backbone.Collection.extend({initialize:function(model,options){options=options||{};this.limit=options.limit||5000;this.name=options.name||'';},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:model.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},url:function(){return appSettings.censusUrl+"/map_region/?c:join=map_hex^list:1^inject_at:hex^hide:map_region_id'type_name'zone_id,facility_link^on:facility_id^to:facility_id_a^inject_at:links^list:1^show:facility_id_b,facility_link^on:facility_id^to:facility_id_b^inject_at:backLinks^list:1^show:facility_id_a&c:limit=5000";},parse:function(response){appSettings.regionsTable={};appSettings.facilityTable={};_.each(response.map_region_list,function(region){if(region.map_region_id){appSettings.regionsTable[region.map_region_id]={name:region.facility_name}}
if(region.location_x){appSettings.facilityTable[region.facility_id]={name:region.facility_name,location:{x:region.location_z,y:region.location_x},facilityLinks:region.links,regionId:region.map_region_id,backLinks:region.backLinks}}})
dispatcher.trigger('facilityTable-ready');return response;}});

/* end /scripts/players/models/model-mapRegions.js*/

/* start /scripts/players/models/model-lookupItems.js*/
window.lookupItem=Backbone.Model.extend();window.LookupItemCollection=Backbone.Collection.extend({initialize:function(model,options){this.options=this.options||{};this.startPoint=this.options.startPoint||0;this.limit=this.options.limit||5000;},sync:function(method,model,options){var params=_.extend({type:'GET',dataType:'jsonp',url:this.url(),processData:false,cache:true},options);return Backbone.sync(method,model,params);},url:function(){var itemTypeList='26,27,33,36';return appSettings.censusUrl+'/item/?item_type_id='+itemTypeList+'&c:sort=item_id&c:show=item_id,name.'+i18n.langCode+',image_id,image_path,item_type_id&c:limit='+this.limit+'&c:start='+this.startPoint;},parse:function(response){if(response.item_list){return response.item_list;}else{return[{name:null,id:null,icon_id:null}];}}});

/* end /scripts/players/models/model-lookupItems.js*/

/* start /scripts/players/views/view-popups.js*/
window.PopupView=Backbone.View.extend({attributes:{'class':'overlay'},initialize:function(options){options=options||{};this.parentDetails=options.parentDetails||{};this.model={parentDetails:this.parentDetails};this.popupType=options.popupType||'generic';this.vehicleID=options.vehicleID||0;this.faction=options.faction;this.parentID=options.parentID;this.template=appSettings.tpl['tplPopupGeneric'];this.attachmentFramework=appSettings.tpl['tplAttachmentFramework'];this.weaponInfoTemplate=appSettings.tpl['tplPopupWeaponDetails'];this.noAttachments=["17","18","2"];},render:function(){var $this=this.$el;var _this=this;var attModel=new AttachmentCollection(window.attachment,{parentID:this.parentID,type:this.popupType,item_type:this.parentDetails.item_category_id,vehicleID:this.vehicleID,faction:this.faction});attModel.fetch({success:function(){_this.model=_.extend(_this.model,attModel.toJSON()[0]);$this.html(_this.template(_this.model));if(_this.popupType=='weapon'&&!_.contains(_this.noAttachments,_this.parentDetails.item_category_id)&&_this.parentDetails.item_category_id){$this.addClass('weapon');$this.find('.desc').addClass('weapon');$this.find('.details').append(_this.weaponInfoTemplate(_this.model));var $useableBy=$this.find('.useable-by');var classNames=_.object(_.pluck(appSettings.classesTable,'type'),_.pluck(appSettings.classesTable,'name'));$useableBy.addClass(_this.model.parentDetails.useableBy);_.each(_this.model.parentDetails.useableBy.split(" "),function(className){if($.trim(className)){$useableBy.append('<em class="'+className+'"></em><div class="tooltip"><div class="copy">'+classNames[className]+'</div></div>');}});$this.find('.useable-by em').tooltip({'position':'bottom center','relative':'true','predelay':400,'effect':'fade','fadeInSpeed':300,'offset':[0,5]});$this.find('tr').tooltip({'position':'center left','relative':'true','predelay':400,'effect':'fade','fadeInSpeed':300,'offset':[0,5]});PS2.highcharts.popupChart($this.find('.chart'),_this.model.primary_fire_mode);}
if(_this.popupType=="vehicle"){$this.addClass('vehicle');}
$this.find('.attachments').html(_this.attachmentFramework({parentID:_this.parentID}));$this.find('.carousel').html(new AttachmentItemView({model:_this.model,'parentID':_this.parentID,'popupType':_this.popupType}).render().el);}})
return this;}});window.AttachmentItemView=Backbone.View.extend({initialize:function(options){this.template=appSettings.tpl['tplAttachmentItem'];this.infoTemplate=appSettings.tpl['tplAttachmentInfoItem'];this.iconTemplate=appSettings.tpl['tplAttachmentIconItem'];this.noTemplate=appSettings.tpl['tplNoAttachments'];this.attachments=this.model.attachment_list||[];this.attCount=0;this.popupType=this.options.popupType||'weapon';this.parentID=this.options.parentID;},render:function(eventName){var _this=this.$el;_this.html(this.template());if(this.attachments.length>=1){_.each(this.attachments,function(att){att.attachmentNumber=this.attCount;att.imagePath=appSettings.censusFileRootUrl+att.attachment_details.image_path;_this.find(".items").append(this.iconTemplate(att));$('.attachment-info.'+this.parentID).append(this.infoTemplate(att));this.attCount+=1;},this);PS2.utils.wrapElements(_this.find(".items .item"),'<div class="carousel-panel"></div>',3);if(this.attachments.length>3){PS2.utils.carousel(_this);_this.toggleElement('img.trigger','.attachment-info.'+this.parentID+' .info');$(_this).data('scrollable').onSeek(function(){try{_this.find('.item img[rel='+($(_this).data('scrollable').getIndex()*3)+']:visible').click();}catch(err){}});}else{_this.toggleElement('img.trigger','.attachment-info.'+this.parentID+' .info');_this.find('.navigation').hide();_this.find('.item img[rel=0]').click();}
_this.find('.attachmentImage').each(function(){$(this).on('error',function(){$(this).attr('src','https://www-cdn.planetside2.com/images/players/global/attachment-no-image.png?v=2810120588');});});}else{_this.html(this.noTemplate({'itemType':this.popupType}));}
return this;}});

/* end /scripts/players/views/view-popups.js*/

/* start /scripts/players/views/view-timeout.js*/
SessionNagView=Backbone.Marionette.Layout.extend({name:'timeout',attributes:{'class':'overlay nag'},template:appSettings.tpl['tplSessionNag'],regions:{nagContent:'#nagContent'},initialize:function(options){this.refreshTimer=new Date().getTime();this.secondsRemaining=60;this.secondsCountDown;this.selfUrl=(appSettings.serverEnvironment=='live')?'https://players.planetside2.com':'https://players-'+appSettings.serverEnvironment+'.planetside2.com';this.listenTo(dispatcher,"timeoutWarning",this.displaySelf);},onRender:function(){this.nagContent.show(new SessionNagPromptView({parent:this}));},onShow:function(){var _view=this;var div=$('.overlay.nag');if(!div.length){return false;}
div.overlay({'left':'center','top':'40%','load':true,onClose:function(){$('.overlay.nag').remove();clearInterval(_view.secondsCountDown);},onLoad:function(){var _this=this;}});var winCenter=$(window).width()/2;var modalHalfWidth=div.width()/2;var leftPosition=winCenter-modalHalfWidth;div.css('left',leftPosition);},displayLogout:function(){this.nagContent.show(new SessionNagLogoutView({overlayAPI:this.$el.data('overlay')}));},displaySelf:function(){this.secondsRemaining=60;app.timeoutContainer.show(this);},refreshSession:function(cb){cb=cb||function(){};var _this=this;var now=new Date().getTime();var ts=_this.refreshTimer;if(now>=(ts+600000)){if(ws&&ws.heartbeat()){$.ajax({url:_this.selfUrl+'/user/touchSessionJSON.action?',method:'get',dataType:'json',success:function(data){if(data.success){_this.refreshTimer=new Date().getTime();if($('.overlay.nag').length){$('.overlay.nag').data('overlay').close();$('.overlay.nag').remove();}
clearInterval(_this.secondsCountDown);cb(true);}else{cb(false);}}});}else{cb(false);}}else{}}});SessionNagPromptView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplSessionNagPrompt'],onShow:function(){var _parent=this.options.parent;_parent.secondsCountDown=setInterval(function(){if(_parent.secondsRemaining>0){$('.overlay.nag .desc span').html(--_parent.secondsRemaining);}else{clearInterval(_parent.secondsCountDown);_parent.displayLogout();}},1000);this.$el.find('button').on('click',function(){_parent.refreshSession(function(success){_parent.$el.data('overlay').close();});});}});SessionNagLogoutView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplSessionNagLogout'],onShow:function(){this.$el.find('button').on('click',function(){window.location=appSettings.soeLoginUrl;});this.options.overlayAPI.onClose=function(){location.reload(true);}}});

/* end /scripts/players/views/view-timeout.js*/

/* start /scripts/players/views/view-profile.js*/
StatisticsLayout=Backbone.Marionette.TopLayout.extend({attributes:{'class':'s-profile'},name:'profile',template:appSettings.tpl['tplProfile'],regions:{topWeaponsContent:'#topWeapons .content',classesContent:'#classesOverview'},onBeforeRender:function(){this.data=this.model.toJSON();var factions=['tr','vs','nc','ns'];var currentFactionIndex=factions.indexOf(this.model.toJSON().details.empire.name);factions.splice(currentFactionIndex,1);this.model.set({rivalFaction1:factions[0],rivalFaction1Kills:this.data.highchartData['kpf_'+factions[0]],rivalFaction2:factions[1],rivalFaction2Kills:this.data.highchartData['kpf_'+factions[1]]});this.flag=(app.contextCharacter)?true:false;this.weaponsArray=this.data.weapons.weaponList;this.weaponsArray.sort(function(a,b){return b.kills-a.kills;});this.topWeaponsArray=_.first(this.weaponsArray,3);this.topVehicle='flash';var totalKills=0;var vKills=0;_.each(this.data.vehicles.vehicleList,function(vehicle){if(vehicle.kills.total>vKills){vKills=vehicle.kills.total;this.topVehicle=vehicle.name;this.topVehicleID=vehicle.vehicle_id;totalKills++;}},this);if(totalKills==0){var vTime=0;_.each(this.data.vehicles.vehicleList,function(vehicle){if(vehicle.timeUsed>vTime){vTime=vehicle.timeUsed;this.topVehicle=vehicle.name;this.topVehicleID=vehicle.vehicle_id;}},this);}},onRender:function(){if(this.topWeaponsArray!=''){this.$el.find('#noWeaponData').hide().parent().siblings('.bottom-link').show();this.topWeaponsContent.show(new ProfileTopWeaponsView({collection:new Backbone.Collection(this.topWeaponsArray)}));}else{this.$el.find('#noWeaponData').show().parent().siblings('.bottom-link').hide();}
var classes=[];var sortedClasses=_.sortBy(this.data.classes.classesList,function(val,key,object){return val.displayOrder;});_.each(sortedClasses,function(item,itemID){classes.push(item);});this.classesContent.show(new ProfileClassesView({model:this.model,collection:new Backbone.Collection(classes)}));},onShow:function(){PS2.highcharts.publicAccess({'data':this.model.toJSON()});if(this.data.stats.base.battleRankNext>200){this.$el.find('#nextBR').hide();this.$el.find('#BRProgressBar').css('width','100%');}
PS2.highcharts.ProfileKillsPerFaction({'colors':['#0137a1','#5d2de0','#9e0202']});PS2.highcharts.ProfileClassesView({'colors':['#06494f','#097D88']});PS2.highcharts.ProfileKillsAverageView({'colors':['#06494f','#097D88']});PS2.highcharts.ProfileScoreAverageView({'colors':['#06494f','#097D88']});$(".scroll-pane").scrollbar();PS2.utils.tabs("#statsTabButtons",".profile-tab",{current:'active',initialIndex:0,tabs:'div'});PS2.utils.tabs("#classTabs",".class-info",{current:'active',initialIndex:0,tabs:'div'});$('#classTabs div').click(function(){if($(this).hasClass('noClick')){profileClassesViewChart.series[0].data[$(this).attr('rel')].select(false);$(this).removeClass('noClick');}else{profileClassesViewChart.series[0].data[$(this).attr('rel')].select(true);}});$('#killsTabButton').click(function(){PS2.highcharts.ProfileKillsAverageView({'colors':['#06494f','#097D88']});});$('#scoreTabButton').click(function(){PS2.highcharts.ProfileScoreAverageView({'colors':['#06494f','#097D88']});});PS2.utils.bindPopups();}});ProfileTopWeaponsItem=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplProfileTopweapons'],onShow:function(){this.$el.find('.modal-trigger').data('popupOptions',{parentDetails:this.model.toJSON(),popupType:'weapon',parentID:this.model.get('item_id')});}});ProfileTopWeaponsView=Backbone.Marionette.CollectionView.extend({onBeforeRender:function(){this.weaponNum=0;},getItemView:function(item){if(!item){return ProfileTopWeaponsItem;}else{this.weaponNum++;item.set({weaponNum:this.weaponNum});return ProfileTopWeaponsItem;}},itemView:ProfileTopWeaponsItem});ProfileTopVehicleView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplProfileTopvehicle'],onShow:function(){var curFaction=app.contextCharacter.toJSON().details.empire;this.$el.find('.modal-trigger').data('popupOptions',{parentDetails:this.model.toJSON(),popupType:'vehicle',parentID:this.model.get('vehicle_id')+"-"+curFaction.name,'vehicleID':this.model.get('vehicle_id'),'faction':curFaction.id});}});ProfileAchievementsView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplProfileAchievements']});ProfileClassesItem=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplProfileClassItem']});ProfileClassesView=Backbone.Marionette.CompositeView.extend({itemViewContainer:'#classItems',emptyView:ProfileClassesItem,template:appSettings.tpl['tplProfileClasses'],itemView:ProfileClassesItem});

/* end /scripts/players/views/view-profile.js*/

/* start /scripts/players/views/view-weaponList.js*/
WeaponsLayout=Backbone.Marionette.TopLayout.extend({name:'weaponList',attributes:{'id':'viewWeaponList','class':'s-wl view-content-container'},template:appSettings.tpl['tplWeaponHeader'],regions:{viewContentContainer:'.view-content-container'},onBeforeRender:function(){this.weaponsArray=this.model.toJSON().weapons.weaponList;this.weaponsArray.sort(function(a,b){return b.kills-a.kills;});this.collection=new Backbone.Collection(this.weaponsArray);},onRender:function(){this.viewContentContainer.show(new WeaponListTemplate({collection:this.collection}))},onShow:function(){$('#quickStats .stat-block').tooltip({'position':'bottom center','relative':'true','predelay':400,'effect':'fade','fadeInSpeed':300});$('#players-weapons-button').addClass('on').attr('href','javascript:;');PS2.highcharts.WeaponsKillsByWeapon(['#33578C','#943735','#728E3C','#725B8D','#00b5b3']);$('.wpnItemTable th').click(function(){if(!$(this).hasClass('first')){if(!$(this).hasClass('descending')){var counter=0;var sortBy='.'+$(this).attr('class').split(' ')[0];var sortRows=_.sortBy($('#weaponsInfo .wepRow'),function(wepRow){return-(parseInt($(wepRow).find(sortBy).attr('rel')*100));});$(this).addClass('descending').siblings().removeClass('descending');$.each(sortRows,function(){$(this).find(sortBy).addClass('sorted').siblings().removeClass('sorted');$(this).find('.item').removeClass('alt-row').removeClass('reg-row');if(counter%2==0){$(this).find('.item').addClass('reg-row');}else{$(this).find('.item').addClass('alt-row');}
counter++;});$('#weaponsInfo').append(sortRows);}}});PS2.utils.bindPopups();}});WeaponListRawItemView=Backbone.Marionette.ItemView.extend({attributes:{'class':"wepRow"},onShow:function(){this.$el.find('.modal-trigger').data('popupOptions',{parentDetails:this.model.toJSON(),popupType:'weapon',parentID:this.model.get('item_id')});},template:appSettings.tpl['tplWeaponRawItem']});WeaponListTemplate=Backbone.Marionette.CompositeView.extend({onBeforeRender:function(){this.options.count=0;},regions:{weaponsInfo:'#weaponsInfo'},getItemView:function(item){if(!item){return WeaponListRawItemView;}else{item.set({'itemClass':(this.options.count%2)?"alt-row":"reg-row",});this.options.count++
return WeaponListRawItemView;}},itemViewContainer:'#weaponsInfo',itemView:WeaponListRawItemView,template:appSettings.tpl['tplWeaponRaw']});

/* end /scripts/players/views/view-weaponList.js*/

/* start /scripts/players/views/view-weaponOverviewList.js*/
WeaponOverviewLayout=Backbone.Marionette.TopLayout.extend({name:'weaponOverview',attributes:{'id':'wepOverview','class':'w-ov'},regions:{viewContentContainer:'.view-content-container',filterWeaponsUl:'#filterWeapons #wepFilterTypes ul'},onBeforeRender:function(){this.options.charWeapons=[];if(app.contextCharacter){_.each(app.contextCharacter.toJSON().weapons.weaponList,function(item){this.options.charWeapons.push(item.item_id);},this);}},onRender:function(){var allWeaponTypes=[];_.each(appSettings.weaponTypes,function(type){var typeData={'type':type,'typeName':i18n.weaponOverviewList.weapons.filter.type[type]};allWeaponTypes.push(typeData);});this.weaponTypes=new Backbone.Collection(allWeaponTypes);this.viewContentContainer.show(new WepOverviewGrid({collection:this.collection,charWeapons:this.options.charWeapons}));this.filterWeaponsUl.show(new WeaponOverviewFilterWeaponType({collection:this.weaponTypes}));},onShow:function(){_this=this;_.each(appSettings.weaponTypes,function(type){var typeData={'type':type,'typeName':i18n.weaponOverviewList.weapons.filter.type[type]}
$('#filterWeapons ul').append(new WeaponOverviewFilterWeaponType({model:typeData}).render().el);});$("#all-weapons-button").addClass("on").attr('href','javascript:;');$('.weaponImageContainer > img').on('error',function(){$(this).attr('src','https://www-cdn.planetside2.com/images/players/player/weapons/weapon-no-image.png?v=2846960482');});$('.dropdownOptions li').click(function(evt){if(evt.ctrlKey||evt.altKey||evt.shiftKey){filterSiblings=($(this).siblings('li').children('em'));$.each(filterSiblings,function(){if(!$(this).hasClass('selected')){$(this).addClass('selected');}});if($(this).children('li .wepCheckbox').hasClass('selected')){$(this).children('li .wepCheckbox').removeClass('selected');}
_this.weaponsFilter();}else{if($(this).children('li .wepCheckbox').hasClass('selected')){$(this).children('li .wepCheckbox').removeClass('selected');}else{$(this).children('li .wepCheckbox').addClass('selected');}
_this.weaponsFilter();}});$('#deselectAllClasses').clickAll('#filterClasses ul li em',_this.weaponsFilter);$('#deselectAllWeapons').clickAll('#filterWeapons ul li em',_this.weaponsFilter);$('#deselectAllFactions').clickAll('#filterFaction ul li em',_this.weaponsFilter);$('#deselectAllLocked').clickAll('#filterLocked ul li em',_this.weaponsFilter);if($('.filterBar').hasClass('noContext')){_this.wepFilterDropDown('#filterByDropdown','.weaponsFilterOptions',210);}else{_this.wepFilterDropDown('#filterByDropdown','.weaponsFilterOptions',230);}
$(".optionsCount .count").each(function(){$(this).tooltip({position:'bottom center',relative:true});$(this).data('tooltip').onBeforeShow(function(){if($('#filterByDropdown').hasClass('drop')){return false;}});});_this.weaponFilterScroll('#scrollLock');if(!app.contextCharacter||app.activeUser.isUserCharacter(app.contextCharacter.toJSON().id)==false||globs.wdl.userLoggedIn==false){this.$el.find('.filterBar').addClass('noContext');}
PS2.utils.bindPopups();},wepFilterDropDown:function(id,target,openHeight){var el=$(id);el.click(function(){if(this.isOpen){this.isOpen=false;$(this).removeClass('drop');$(target).slideUp();$('.filterBar').animate({height:49});}else{$(this).addClass('drop');$(target).slideDown();$('.filterBar').animate({height:openHeight});this.isOpen=true;}});},weaponFilterScroll:function(target){var element=$(target);var distanceTop=element.offset().top;$(window).scroll(function(){if($(window).scrollTop()>distanceTop){element.css({'position':'fixed','top':'-1px','margin':'0'});}else{element.css({'position':'relative'});}});},weaponsFilter:function(){var filterTypes=['Faction','Classes','Weapons',"Locked"];var weaponItem=$('.view-content-container .weaponItem');var displayItems=[];var filterParams={faction:[],classes:[],weapons:[],locked:[]};$('.weaponItemContainer').css('min-height',4000);_.each(filterTypes,function(type){$.each($('#filter'+type+' li'),function(){if($(this).children('em').hasClass('selected')){if($(this).children('span').attr('id')){filterParams[type.toLowerCase()].push({id:$(this).children('span').attr('id'),name:$(this).children('span').text()});}}});});$(weaponItem).hide();if(filterParams.faction.length+filterParams.classes.length+filterParams.weapons.length+filterParams.locked.length>0){$('#filterByDropdown').addClass('showCurrent');}else{$('#filterByDropdown').removeClass('showCurrent');}
var selectedFactions=[];var selectedClasses=[];var selectedWeaponTypes=[];var selectedLocked=[];if(filterParams.faction.length!==0){filterParams.faction.push({id:'none',name:'none'});displayItems=this.filterWeaponsList(filterParams.faction,displayItems);filterParams.faction.pop();$('#factionSelectAll').show();$('#filterByDropdown').addClass('showFaction');$('.empireCount').children('span').text('[ '+filterParams.faction.length+' ]');selectedFactions='';_.each(filterParams.faction,function(faction){selectedFactions+='<li class="'+faction.id+'"><em></em><span>'+faction.name+'</span></li>';});$('.empireTooltip ul').html(selectedFactions);$('.empireTooltip ul li').click(function(){clickID='#'+($(this).prop('class'));$(clickID).click();return false;});}else{$('#factionSelectAll').hide();$('.empireTooltip').hide();$('#filterByDropdown').removeClass('showFaction');}
if(filterParams.classes.length!==0){displayItems=this.filterWeaponsList(filterParams.classes,displayItems);$('#classesSelectAll').show();$('#filterByDropdown').addClass('showClass');$('.classCount').children('span').text('[ '+filterParams.classes.length+' ]');selectedClasses='';_.each(filterParams.classes,function(classes){selectedClasses+='<li class="'+classes.id+'"><em></em><span>'+classes.name+'</span></li>';});$('.classTooltip ul').html(selectedClasses);$('.classTooltip ul li').click(function(){clickID='#'+($(this).prop('class'));$(clickID).click();return false;});}else{$('#classesSelectAll').hide();$('.classTooltip').hide();$('#filterByDropdown').removeClass('showClass');}
if(filterParams.weapons.length!==0){displayItems=this.filterWeaponsList(filterParams.weapons,displayItems);$('#typeSelectAll').show();$('#filterByDropdown').addClass('showType');$('.weaponTypeCount').children('span').text('[ '+filterParams.weapons.length+' ]');selectedWeaponTypes='';_.each(filterParams.weapons,function(type){selectedWeaponTypes+='<li class="'+type.id+'"><em></em><span>'+type.name+'</span></li>';});$('.weaponTypeTooltip ul').html(selectedWeaponTypes);$('.weaponTypeTooltip ul li').click(function(){clickID='#'+($(this).prop('class'));$(clickID).click();return false;});}else{$('#typeSelectAll').hide();$('.weaponTypeTooltip').hide();$('#filterByDropdown').removeClass('showType');}
if(filterParams.locked.length!==0){displayItems=this.filterWeaponsList(filterParams.locked,displayItems);$('#lockedSelectAll').show();$('#filterByDropdown').addClass('showLocked');$('.lockedCount').children('span').text('[ '+filterParams.locked.length+' ]');selectedLocked='';_.each(filterParams.locked,function(locked){selectedLocked+='<li class="'+locked.id+'"><em></em><span>'+locked.name+'</span></li>';});$('.lockedTooltip ul').html(selectedLocked);$('.lockedTooltip ul li').click(function(){clickID='#'+($(this).prop('class'));$(clickID).click();return false;});}else{$('#lockedSelectAll').hide();$('.lockedTooltip').hide();$('#filterByDropdown').removeClass('showLocked');}
if(filterParams.faction.length+filterParams.classes.length+filterParams.weapons.length+filterParams.locked.length===0){$.each(weaponItem,function(){displayItems.push($(this));});}
if(displayItems.length>0){$.each(displayItems,function(index){$(this).show();if(displayItems.length==(index+1)){var distanceTop=Math.round($('.filterBar').offset().top);$('.weaponItemContainer').css('min-height',630);if($(window).scrollTop()>distanceTop){$(window).scrollTop(distanceTop);}}});}else{var distanceTop=Math.round($('.filterBar').offset().top);$('.weaponItemContainer').css('min-height',630);if($(window).scrollTop()>distanceTop){$(window).scrollTop(distanceTop);}}
$('.filterResults span').html(' '+$('.weaponItem:visible').length+' / '+weaponItem.length);},filterWeaponsList:function(filters,displayItems){var filteredItems=displayItems;displayItems=[];var weaponItem=$('.view-content-container .weaponItem');$.each(filters,function(){var filter=this.id;if(filteredItems.length!==0){$.each(filteredItems,function(){if($(this).hasClass(filter)){displayItems.push($(this));}});}else{$.each(weaponItem,function(){if($(this).hasClass(filter)){displayItems.push($(this));}});}});return displayItems;}});WepOverviewGrid=Backbone.Marionette.Layout.extend({regions:{gridContainer:'#gridContainer'},template:appSettings.tpl['tplWepDropdown'],onRender:function(){this.gridContainer.show(new WeaponItemContainer({collection:this.collection,model:this.model,charWeapons:this.options.charWeapons}));}});WeaponItem=Backbone.Marionette.ItemView.extend({attributes:{'class':'weaponItem modal-trigger'},onBeforeRender:function(){var classesString='';this.data=this.model.toJSON();var $this=this.$el;if(app.contextCharacter&&app.activeUser.isUserCharacter(app.contextCharacter.toJSON().id)){if(_.contains(this.model.charWeapons,this.model.get('item_id'))){this.model.set({locked:'unlocked'});}else{this.model.set({locked:'locked'});}}else{this.model.set({locked:'unknown'});}
this.model.set({classes:this.data.useableBy||'infiltrator combat_medic light_assault heavy_assault engineer max'});if(this.data.type){$this.addClass(this.data.type);}
if(this.data.faction){$this.addClass(this.data.faction);}else{$this.addClass('vs nc tr ns');}
$this.addClass(this.model.get('locked')+" "+this.model.get('classes'));this.$el.data('popupOptions',{parentDetails:this.model.toJSON(),popupType:'weapon',parentID:this.model.get('item_id')});},template:appSettings.tpl['tplWeaponOverviewItem']});WeaponItemContainer=Backbone.Marionette.CompositeView.extend({getItemView:function(item){if(!item){return WeaponItem;}else{item.charWeapons=this.options.charWeapons;return WeaponItem;}},itemView:WeaponItem,itemViewContainer:'.weaponItemContainer',template:appSettings.tpl['tplWeaponItemContainer']});WeaponOverviewFilterWeaponItem=Backbone.Marionette.ItemView.extend({tagName:'li',template:appSettings.tpl['tplWeaponFilterTypes'],onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);}});WeaponOverviewFilterWeaponType=Backbone.Marionette.CollectionView.extend({onBeforeRender:function(){},template:appSettings.tpl['weaponFilterUl'],itemViewContainer:'ul',itemView:WeaponOverviewFilterWeaponItem});

/* end /scripts/players/views/view-weaponOverviewList.js*/

/* start /scripts/players/views/view-charClassList.js*/
ClassesLayout=Backbone.Marionette.TopLayout.extend({onRender:function(){var profileClasses=[];_.each(app.contextCharacter.toJSON().classes.classesList,function(classType){profileClasses.push(classType);});this.collection=new Backbone.Collection(profileClasses);this.viewContentContainer.show(new ClassItemCollectionView({collection:this.collection}));},attributes:{'id':'secClasses','class':'s-cl'},name:'classList',template:appSettings.tpl["tplCharClassHeader"],regions:{viewContentContainer:'.view-content-container'},onShow:function(){$('#quickStats .stat-block').tooltip({'position':'bottom center','relative':'true','predelay':400,'effect':'fade','fadeInSpeed':300});$(".scroll-pane").scrollbar();$("#secClasses").accordion(".pane");}});ClassItemView=Backbone.Marionette.Layout.extend({template:appSettings.tpl["tplCharClassItem"],attributes:{'class':'item'},regions:{classStats:'#classStats'},onRender:function(){this.classStats.show(new ClassStatsItemView({model:this.model}));}});ClassItemCollectionView=Backbone.Marionette.CollectionView.extend({itemView:ClassItemView});ClassStatsItemView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl["tplCharClassStatsItem"]});

/* end /scripts/players/views/view-charClassList.js*/

/* start /scripts/players/views/view-vehicleList.js*/
VehicleListLayout=Backbone.Marionette.TopLayout.extend({name:'vehicleList',attributes:{'id':'secVehicle','class':'s-vh'},template:appSettings.tpl['tplVehicleHeader'],regions:{viewContentContainer:'.view-content-container'},onBeforeRender:function(){var factionVehicles=[];var charFaction=app.contextCharacter.toJSON().details.empire.name;_.each(appSettings.vehicleTable,function(vehicle){if(_.contains(vehicle.faction,appSettings.factions.code[charFaction].id.toString())){factionVehicles.push(vehicle);}});this.collection=new Backbone.Collection(factionVehicles);},onRender:function(){this.viewContentContainer.show(new VehicleListItemView({model:this.model,collection:this.collection}));},onShow:function(){$('#quickStats .stat-block').tooltip({'position':'bottom center','relative':'true','predelay':400,'effect':'fade','fadeInSpeed':300});$("#secVehicle").accordion(".pane");PS2.utils.bindPopups();}});VehicleItemView=Backbone.Marionette.Layout.extend({attributes:{'class':'item'},regions:{worldStats:'#worldStats',generalStats:'#generalStats',dataTable:'#dataTable'},onBeforeRender:function(){},template:appSettings.tpl['tplVehicleItem'],onRender:function(){this.model.set({'faction':app.contextCharacter.toJSON().details.empire.name,'imgUrl':'https://www-cdn.planetside2.com/images/players/player/vehicles/'+this.model.get('vehicle_id')+'-'+app.contextCharacter.toJSON().details.empire.name+'.png?v=2485487002'});this.worldStats.show(new VehicleWorldStatsView({model:this.model}));if(app.contextCharacter.toJSON().vehicles.vehicleList[this.model.get('vehicle_id')]){this.generalStats.show(new VehicleGeneralStatsView({model:new Backbone.Model(app.contextCharacter.toJSON().vehicles.vehicleList[this.model.get('vehicle_id')])}));this.dataTable.show(new VehicleDataTableView({model:new Backbone.Model(app.contextCharacter.toJSON().vehicles.vehicleList[this.model.get('vehicle_id')])}));}}});VehicleListItemView=Backbone.Marionette.CollectionView.extend({onBeforeRender:function(){},itemView:VehicleItemView,appendHtml:function(collectionView,itemView,index){if(!app.contextCharacter.toJSON().vehicles.vehicleList[itemView.model.get('vehicle_id')]){return false;}else{collectionView.$el.append(itemView.el);}}});VehicleWorldStatsView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplVehicleWorldStatsItem'],onShow:function(){var curFaction=app.contextCharacter.toJSON().details.empire;this.$el.find('.modal-trigger').data('popupOptions',{parentDetails:this.model.toJSON(),popupType:'vehicle',parentID:this.model.get('vehicle_id')+"-"+curFaction.name,'vehicleID':this.model.get('vehicle_id'),'faction':curFaction.id});}});VehicleGeneralStatsView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplVehicleGeneralStatsItem']});VehicleDataTableView=Backbone.Marionette.ItemView.extend({onBeforeRender:function(){var factions=['tr','vs','nc','ns'];var currentFaction=app.contextCharacter.toJSON().details.empire.name;var currentFactionIndex=factions.indexOf(currentFaction);factions.splice(currentFactionIndex,1);this.model.set({rivalFaction1:factions[0],rivalFaction2:factions[1]});},template:appSettings.tpl['tplVehicleStatsItem']});

/* end /scripts/players/views/view-vehicleList.js*/

/* start /scripts/players/views/view-mainNav.js*/
MainNavLayout=Backbone.Marionette.TopLayout.extend({template:appSettings.tpl['tplMainNav'],regions:{dropDownContainer:'#dropdownContainer'},initialize:function(){this.listenTo(dispatcher,'activeChar-changed',this.buildDropdown);this.listenTo(dispatcher,"viewChanged-event",this.highlightNavItem);},onRender:function(){var _this=this;if(app.activeUser.getUserLoggedIn()){this.charIDModel=new UserCharacterInformationModel({'charIdsList':app.activeUser.getCharIdsList()});this.charIDModel.fetch({success:function(data){_this.charIds=[];_.each(data.toJSON(),function(item){if(item.hasOwnProperty('character_id')){_this.charIds.push(item);}});_this.$el.find('.nav-profile').addClass('multiple');}});}},buildDropdown:function(){var _this=this.$el;var $this=this;var charsLoadedSuccessfully=0;var charErrorCount=0;for(var i=0;i<this.charIDModel.toJSON().charIdsList.length;i++){if(this.charIDModel.toJSON()[i]){var activeChar=app.activeUser.getActiveChar();$("#myprofile_btn").attr('href',appSettings.playerRootUrl+'/#!/'+activeChar);$("#leaderboard_btn").attr('href',appSettings.playerRootUrl+'/#!/'+activeChar+'/leaderboards');if(this.charIDModel.toJSON()[i]&&this.charIDModel.toJSON()[i].character_id==app.activeUser.getActiveChar()){var kills=0,deaths=0,minutesPlayed=0;if(this.charIDModel.toJSON()[i].stat_history){_.each(this.charIDModel.toJSON()[i].stat_history,function(stat){if(stat.stat_name=='kills'){kills=stat.all_time;}
else if(stat.stat_name=='deaths'){deaths=stat.all_time;}
else if(stat.stat_name=='time'){minutesPlayed=stat.all_time;}});}
var activeUser=app.activeUser;var charIdData=this.charIDModel.toJSON()[i];activeUser.setMany({'name':charIdData.name.first,'world_id':parseInt(charIdData.world_id),'battleRank':charIdData.battle_rank.value,'kills':parseInt(kills),'deaths':parseInt(deaths),'minutesPlayed':Math.floor(parseInt(minutesPlayed)/60),'faction':parseInt(charIdData.faction_id)});$('.logoPS2').attr('href',appSettings.playerRootUrl+'/#!/'+app.activeUser.getActiveChar());}
charsLoadedSuccessfully++;}else{charErrorCount++;}};$this.dropDownContainer.show(new DropDownCompositeView({collection:new Backbone.Collection($this.charIds)}));if(charErrorCount>0){if(charsLoadedSuccessfully==0){window.appSettings.charLoadErrorShown=true;app.router.navigate(appSettings.playerRootUrl+'/#!/');}
if(appSettings.charLoadErrorShown==false){errorDescrip=i18n.mainNav.charLoadError.errorDescription.toString().replace(/[{0}]+/g,charErrorCount.toString());$('body').append('<div id="charLoadError"><div id="loadError"><span>'+i18n.mainNav.charLoadError.characterLoadError+'</span><p>'+errorDescrip+'</p><button>'+i18n.mainNav.charLoadError.ok+'</button></div></div>')
$('#charLoadError #loadError button').click(function(){$('#charLoadError').hide();});window.appSettings.charLoadErrorShown=true;}}},highlightNavItem:function(viewName){if(viewName=='planetStatus'){PS2.utils.highlightLink("header nav a","header nav a.nav-planetstatus","active");}else if(viewName=='leaderboardTop'||viewName=='leaderboardList'){PS2.utils.highlightLink("header nav a","header nav a.nav-leaderboard","active");}else if(viewName=='outfits'){PS2.utils.highlightLink("header nav a","header nav a.nav-outfit","active");}else if(viewName=='searchResults'){PS2.utils.highlightLink("header nav a","","active");}else{PS2.utils.highlightLink("header nav a","header nav a.nav-profile","active");}}});DropDownItemView=Backbone.Marionette.ItemView.extend({initialize:function(){if(this.model.get('id')==app.activeUser.getActiveChar()){this.model.set({activeChar:'activeChar'});}else{this.model.set({activeChar:'inactiveChar'});}},template:appSettings.tpl['tplMainNavDropdown']});DropDownCompositeView=Backbone.Marionette.CompositeView.extend({template:appSettings.tpl['tplMainNavDropdownContainer'],itemViewContainer:'.sub-select',itemView:DropDownItemView,onShow:function(){PS2.utils.dropDown('#charSelect',' > ul');}});

/* end /scripts/players/views/view-mainNav.js*/

/* start /scripts/players/views/view-footer.js*/
FooterLayout=Backbone.Marionette.TopLayout.extend({initialize:function(){this.listenTo(dispatcher,'activeChar-changed',this.updateFooterLinks);},updateFooterLinks:function(activeCharID){if(activeCharID){$('#footerProfile').attr('href',(appSettings.playerRootUrl+"/#!/"+activeCharID));$('#footerLeaderboards').attr('href',(appSettings.playerRootUrl+"/#!/"+activeCharID+"/leaderboards"));$('#footerSearch').attr('href',(appSettings.playerRootUrl+"/#!/"+activeCharID+"/search"));}else{$('#footerProfile').attr('href',"/user/casLogin.action?redirectTo=/");$('#footerLeaderboards').attr('href',(appSettings.playerRootUrl+"/#!/leaderboards"));$('#footerSearch').attr('href',(appSettings.playerRootUrl+"/#!/search"));}},render:function(){return this;}});

/* end /scripts/players/views/view-footer.js*/

/* start /scripts/players/views/view-subNav.js*/
SubNavLayout=Backbone.Marionette.TopLayout.extend({template:appSettings.tpl['tplMainSubnav'],attributes:{'id':'subNavBox','class':'ctn-center'},initialize:function(options){this.listenTo(dispatcher,"viewChanged-event",this.viewChanged);this.listenTo(dispatcher,'friendLogin',this.friendOnline);this.listenTo(dispatcher,'friendLogout',this.friendOffline);_.bindAll(this);},regions:{onlineStatus:"#quickStats #status",quickStats:'#quickStats .stats',subNav:'#subNav'},friendOnline:function(event){if(event.player_guid==app.contextCharacter.get('id')){this.model.set('online_status','1');this.model.set('onlineStatus','Online');this.onlineStatusChanged(this.model.get('onlineStatus'));}},friendOffline:function(event){if(event.player_guid==app.contextCharacter.get('id')){this.model.set('online_status','0');this.model.set('onlineStatus','Offline');this.onlineStatusChanged(this.model.get('onlineStatus'));}},onlineStatusChanged:function(status){if(this.model.get('charReady')){var onlineModel=new Backbone.Model({'onlineStatus':status});this.onlineStatus.reset();this.onlineStatus.show(new OnlineStatusView({model:onlineModel}));}},viewChanged:function(viewName){var subNavDisplayed=true;var _this=this;var display=function(templateName){_this.subNav.show(new DefaultSubNavView({model:_this.model}));_this.quickStats.show(new this[templateName]({model:_this.model}));}
var displayOptional=function(templateName){if(app.contextCharacter){_this.subNav.show(new DefaultSubNavView({model:_this.model}));_this.quickStats.show(new this[templateName]({model:_this.model}));}else{removeSubNav();}}
var removeSubNav=function(){$("#subNavBox").remove();subNavDisplayed=false;}
var subNavDefault=['overview','profile','certs','killboard'];if($.inArray(viewName,subNavDefault)>=0){display('DefaultStatsView');}
if(viewName=='weaponList'){display('WeaponStatsView');}
if(viewName=='vehicleList'){display('VehicleStatsView');}
if(viewName=='classList'){display('ClassStatsView');}
var subNavDefaultOptional=['weaponOverview','vehicleOverview'];if($.inArray(viewName,subNavDefaultOptional)>=0){displayOptional('DefaultStatsView');}
var subNavNever=['outfits','leaderboardTop','leaderboardList','planetStatus','splash','searchResults'];if($.inArray(viewName,subNavNever)>=0){removeSubNav();}
if(subNavDisplayed&&app.contextCharacter&&!$("#subNavBox").length){$("#container").before(this.$el);}
PS2.utils.highlightLink("#subNav .navElement","#subNav .navElement.sub-"+viewName,"current");if(!$('#worldName a').hasClass('bound')){this.linkWorld();}},linkWorld:function(){this.$el.find('#worldName a').addClass('bound').on('click',function(){if($.isNumeric($(this).data('world'))){window.appSettings.selectedWorld=$(this).data('world');}
return true;});}});OnlineStatusView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplStatsOnlineStatus']});DefaultSubNavView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplSubNavMenuDefault']});DefaultStatsView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplStatsDefault']});WeaponStatsView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplStatsWeapons']});VehicleStatsView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplStatsVehicles']});ClassStatsView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplStatsClasses']});

/* end /scripts/players/views/view-subNav.js*/

/* start /scripts/players/views/view-searchResults.js*/
SearchResultsLayout=Backbone.Marionette.TopLayout.extend({name:'searchResults',attributes:{'id':'searchResultsList','class':"view-search"},regions:{results:'#results'},template:appSettings.tpl['tplSearchResults'],onRender:function(){this.results.show(new SearchResultsListView({collection:this.collection}));}});SearchResultsListItemView=Backbone.Marionette.ItemView.extend({attributes:{'class':'charResult'},template:appSettings.tpl['tplSearchResultsItem']});SearchResultsListEmptyView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplSearchResultsNone']});SearchResultsListView=Backbone.Marionette.CollectionView.extend({itemView:SearchResultsListItemView,emptyView:SearchResultsListEmptyView});

/* end /scripts/players/views/view-searchResults.js*/

/* start /scripts/players/views/view-leaderboards.js*/
LeaderboardAllLayout=Backbone.Marionette.TopLayout.extend({name:'leaderboardTop',attributes:{'class':'s-lb clearfix'},regions:{lbHeader:'#lbHeader',lbFilters:'#lbFilters',lbContent:'#lbContent'},template:appSettings.tpl['tplLbContainer'],initialize:function(){this.urlParams={type:PS2.utils.gup('type')||'top',period:PS2.utils.gup('period')||'Forever',view:PS2.utils.gup('show')||'All',world:PS2.utils.gup('world')||'All',limit:PS2.utils.gup('limit')||5,start:PS2.utils.gup('start')||0,name:PS2.utils.gup('name')||'Kills'}
this.getLimit();},getLimit:function(){if(this.urlParams.type=='top'){this.urlParams.limit=5;}else{this.urlParams.limit=10;}
return this.urlParams.limit;},getURLVars:function(){var urlParams={type:PS2.utils.gup('type')||this.urlParams.type,period:PS2.utils.gup('period')||this.urlParams.period,view:PS2.utils.gup('view')||this.urlParams.view,world:PS2.utils.gup('world')||this.urlParams.world,limit:PS2.utils.gup('limit')||this.getLimit(),start:PS2.utils.gup('start')||this.urlParams.start,name:PS2.utils.gup('name')||this.urlParams.name,activeCharId:app.activeUser.get('activeChar')||''}
return urlParams;},switchViewType:function(viewType,trigger){var _this=this;var defaultLimit=10;var params=_this.getURLVars();if(viewType=='top'){defaultLimit=5;}
if(params.activeCharId){params.activeCharId='/'+params.activeCharId;}
app.router.navigate('/!'+params.activeCharId+'/leaderboards/?type='+viewType+'&period='+params.period+'&view='+params.view+'&world='+params.world+'&limit='+defaultLimit,{trigger:false});if(viewType=='top'){_this.lbContent.show(new LBTopView({'parentView':_this}));$('.gridView').addClass('on').siblings().removeClass('on');}else{_this.lbContent.show(new LBListView({'parentView':_this}));$('.listView').addClass('on').siblings().removeClass('on');}},onRender:function(){this.lbHeader.show(new LBHeaderView({'parentView':this}));this.lbFilters.show(new LBFiltersView({'parentView':this}));if(this.urlParams.type=='top'){this.lbContent.show(new LBTopView({'parentView':this}));}else if(this.urlParams.type=='list'){this.lbContent.show(new LBListView({'parentView':this}));}}});LBHeaderView=Backbone.Marionette.ItemView.extend({attributes:{'class':'header'},template:appSettings.tpl['tplLbHeader'],onShow:function(){var _this=this;_.defer(function(){if(_this.options.parentView.urlParams.type=='top'){$('.gridView').addClass('on');}else if(_this.options.parentView.urlParams.type=='list'){$('.listView').addClass('on');}
$('.view-options a').on('click',function(){if(!$(this).hasClass('on')){_this.options.parentView.switchViewType($(this).attr('rel'),$(this));}});});}});LBFiltersView=Backbone.Marionette.Layout.extend({template:appSettings.tpl['tplLbFilters'],regions:{perPageUl:'#perPageDropdown ul',selectWorldUl:'#selectWorldDropdown ul'},initialize:function(){this.listenTo(dispatcher,'lb-view-type-changed',this.populatePerPageDD);},populateWorldDD:function(){var worlds=[];_.each(appSettings.worldsTable,function(world){worlds.push(world);});this.selectWorldUl.show(new LBWorldSelectView({collection:new Backbone.Collection(worlds)}));this.registerFilterButtons();},populatePerPageDD:function(type){if(type=='top'){var perPageItems=[{value:5},{value:10}];this.perPageUl.show(new LBPerPageView({collection:new Backbone.Collection(perPageItems)}));}else{var perPageItems=[{value:5},{value:10},{value:25},{value:50},{value:100}];this.perPageUl.show(new LBPerPageView({collection:new Backbone.Collection(perPageItems)}));};this.registerFilterButtons();},registerFilterButtons:function(){var _this=this;$('.filter-1, .filter-2, #selectWorldDropdown ul li a, #perPageDropdown ul li a').off('click');$('.filter-1').on('click',function(){if(!$(this).hasClass('disabled')){if(!$(this).hasClass('selected')){var params=_this.options.parentView.getURLVars();if(params.activeCharId!=''){params.activeCharId='/'+params.activeCharId;}
app.router.navigate('/!'+params.activeCharId+'/leaderboards/?type='+params.type+'&period='+$(this).attr('rel')+'&view='+params.view+'&world='+params.world+'&limit='+params.limit,{trigger:false});if(params.type=='top'){_this.options.parentView.lbContent.show(new LBTopView({'parentView':_this.options.parentView}));}else if(params.type=='list'){_this.options.parentView.lbContent.show(new LBListView({'parentView':_this.options.parentView}));}
$(this).addClass('selected').siblings().removeClass('selected');}}});$('.filter-2').on('click',function(){if(!$(this).hasClass('selected')){if(!$(this).hasClass('disabled')){var params=_this.options.parentView.getURLVars();if(params.activeCharId!=''){params.activeCharId='/'+params.activeCharId;}
app.router.navigate('/!'+params.activeCharId+'/leaderboards/?type='+params.type+'&period='+params.period+'&view='+$(this).attr('rel')+'&world='+params.world+'&limit='+params.limit,{trigger:false});if(params.type=='top'){_this.options.parentView.lbContent.show(new LBTopView({'parentView':_this.options.parentView}));}else if(params.type=='list'){_this.options.parentView.lbContent.show(new LBListView({'parentView':_this.options.parentView}));}
$(this).addClass('selected').siblings().removeClass('selected');}}});$('#selectWorldDropdown ul li a').on('click',function(){var params=_this.options.parentView.getURLVars();if(params.activeCharId!=''){params.activeCharId='/'+params.activeCharId;}
app.router.navigate('/!'+params.activeCharId+'/leaderboards/?type='+params.type+'&period='+params.period+'&view='+params.view+'&world='+$(this).attr('rel')+'&limit='+params.limit,{trigger:false});if(params.type=='top'){_this.options.parentView.lbContent.show(new LBTopView({'parentView':_this.options.parentView}));}else if(params.type=='list'){_this.options.parentView.lbContent.show(new LBListView({'parentView':_this.options.parentView}));}
$(this).addClass('current').parent().siblings('div').children('a').removeClass('current');});$('#perPageDropdown ul li a').on('click',function(){var params=_this.options.parentView.getURLVars();if(params.activeCharId!=''){params.activeCharId='/'+params.activeCharId;}
app.router.navigate('/!'+params.activeCharId+'/leaderboards/?type='+params.type+'&period='+params.period+'&view='+params.view+'&world='+params.world+'&limit='+$(this).attr('rel'),{trigger:false});if(params.type=='top'){_this.options.parentView.lbContent.show(new LBTopView({'parentView':_this.options.parentView}));}else if(params.type=='list'){_this.options.parentView.lbContent.show(new LBListView({'parentView':_this.options.parentView}));}});PS2.utils.dropDown('#perPageDropdown',' > ul');PS2.utils.dropDown('#selectWorldDropdown',' > ul');$('#filterByWorld em').text(function(){var params=_this.options.parentView.getURLVars();if(params.world=='All'){return'ALL WORLDS'}else{return appSettings.worldsTable['world_'+params.world].name[i18n.langCode];}});},onShow:function(){var _this=this;_.defer(function(){if(!globs.wdl.userLoggedIn){$('#lbFriends').addClass('disabled');}else{if(!app.contextCharacter){$('#lbFriends').addClass('disabled');}}
_this.registerFilterButtons();_this.populateWorldDD();var urlParams=_this.options.parentView.urlParams;$('#lb'+urlParams.period).addClass('selected');$('#lb'+urlParams.view).addClass('selected');});}});LBPerPageItem=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplPerPageItem']});LBPerPageView=Backbone.Marionette.CollectionView.extend({itemView:LBPerPageItem,tagName:'li',onShow:function(){_.defer(function(){$('#perPageDropdown ul').append('<div class="sub-select-bottom"></div>');});}});LBWorldSelectItem=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplWorldSelectItem']});LBWorldSelectView=Backbone.Marionette.CollectionView.extend({itemView:LBWorldSelectItem,tagName:'li',onShow:function(){_.defer(function(){$('#selectWorldDropdown ul').append('<div class="sub-select-bottom"></div>').children('li').prepend('<div><a id="worldAll" class="link-world current" rel="All">All Worlds</a></div>');});}})
LBTopView=Backbone.Marionette.Layout.extend({template:appSettings.tpl['tplLbTop'],attributes:{'class':'topItems'},regions:{topKills:'#topKills .topItemContainer',topScore:'#topScore .topItemContainer',topTime:'#topTime .topItemContainer'},onBeforeRender:function(){this.viewOptions=this.options.parentView.getURLVars();dispatcher.trigger('lb-view-type-changed','top');},onShow:function(){var _this=this;_.defer(function(){_.each(_this.regions,function(region,regionID){var leaderboardTopCollection=new LeaderboardTopCollection({'name':regionID.replace('top',''),'period':_this.viewOptions.period,'limit':_this.viewOptions.limit,'view':_this.viewOptions.view});leaderboardTopCollection.fetch({success:function(){var list='leaderboard_list';if(_this.viewOptions.view=='Friends'){list='characters_leaderboard_list';}
var lbTopCollection=new Backbone.Collection(leaderboardTopCollection.models[0].toJSON()[list]);_this[regionID].show(new LBTopItemView({collection:lbTopCollection}));}});});});}});LBListView=Backbone.Marionette.Layout.extend({template:appSettings.tpl['tplLbList'],onBeforeRender:function(){this.viewOptions=this.options.parentView.getURLVars();dispatcher.trigger('lb-view-type-changed','list');},regions:{tableContainer:'#lbListTable',activeCharContainer:'#lbListActiveChar',paginationContainer:'#lbListPagination'},onShow:function(){var _this=this;var paginationOptions={};_.defer(function(){var showPagination=function(paginationOptions){_this.paginationContainer.show(new LBListPagination({'parentView':_this.options.parentView,model:new Backbone.Model(paginationOptions)}));}
var loadActiveCharacter=function(paginationOptions){if(globs.wdl.userLoggedIn){if(app.contextCharacter){var leaderboardActiveChar=new LeaderboardListFriends({'name':_this.viewOptions.name,'period':_this.viewOptions.period,'world':_this.viewOptions.world,'limit':_this.viewOptions.limit,'activeChar':true});leaderboardActiveChar.fetch({success:function(){var lbActiveChar=new Backbone.Model(leaderboardActiveChar.models[0].toJSON().character_list[0]);if($.isNumeric(lbActiveChar.get('rank'))){paginationOptions.activeCharRank=lbActiveChar.get('rank');}
showPagination(paginationOptions);_this.activeCharContainer.show(new LBListActiveChar({'model':lbActiveChar,'parentView':_this.options.parentView}));}})}}else{showPagination(paginationOptions);}};if(_this.viewOptions.view=='All'){var leaderboardListCollection=new LeaderboardListCollection({'name':_this.viewOptions.name,'period':_this.viewOptions.period,'world':_this.viewOptions.world,'limit':_this.viewOptions.limit,'start':_this.viewOptions.start});leaderboardListCollection.fetch({success:function(){loadActiveCharacter(leaderboardListCollection.paginationOptions);var lbListCollection=new Backbone.Collection(leaderboardListCollection.models[0].toJSON().leaderboard_list);_this.tableContainer.show(new LBListTableView({collection:lbListCollection,'parentView':_this.options.parentView,tableView:_this}));}});}else{var leaderboardFriendsCollection=new LeaderboardListFriends({'name':_this.viewOptions.name,'period':_this.viewOptions.period,'world':_this.viewOptions.world,'limit':_this.viewOptions.limit});leaderboardFriendsCollection.fetch({success:function(){loadActiveCharacter(leaderboardFriendsCollection.paginationOptions);var lbFriends=new Backbone.Collection(leaderboardFriendsCollection.models[0].toJSON().character_list);_this.tableContainer.show(new LBListTableView({collection:lbFriends,'parentView':_this.options.parentView,tableView:_this}));}})}});}});LBTopEmpty=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplTopEmpty']});LBTopItem=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplTopItem']});LBTopItemView=Backbone.Marionette.CollectionView.extend({itemView:LBTopItem,emptyView:LBTopEmpty,itemViewOptions:function(model){var tag='a';var link=appSettings.playerRootUrl+'/#!/'+model.get('character_id');if($.isEmptyObject(model.attributes)){tag='div';};if(model.get('unknown')==true){tag='div';}
return{'className':'lbTopChar '+(model.get('faction')||'lbTopEmpty'),'tagName':tag,attributes:{'href':link}};}});LBListTableEmpty=Backbone.Marionette.ItemView.extend({tagName:'tr',attributes:{'class':'emptyLB'},template:appSettings.tpl['tplLbListEmpty']});LBListTableItem=Backbone.Marionette.ItemView.extend({tagName:'tr',template:appSettings.tpl['tplLbListRow']});LBListTableView=Backbone.Marionette.CompositeView.extend({tagName:'table',attributes:{'class':'lb-table'},itemView:LBListTableItem,emptyView:LBListTableEmpty,itemViewContainer:'tbody',template:appSettings.tpl['tplLbListTable'],onShow:function(){var _this=this;_.defer(function(){$('#lbListTable .sortable').on('click',function(){_this.viewOptions=_this.options.parentView.getURLVars();if(_this.viewOptions.activeCharId!=''){_this.viewOptions.activeCharId='/'+_this.viewOptions.activeCharId;}
app.router.navigate('/!'+_this.viewOptions.activeCharId+'/leaderboards/?type='+_this.viewOptions.type+'&period='+_this.viewOptions.period+'&view='+_this.viewOptions.view+'&world='+_this.viewOptions.world+'&limit='+_this.viewOptions.limit+'&name='+$(this).attr('rel'),{trigger:false});var leaderboardListCollection=new LeaderboardListCollection({'name':$(this).attr('rel'),'period':_this.viewOptions.period,'world':_this.viewOptions.world,'limit':_this.viewOptions.limit,'start':_this.viewOptions.start});leaderboardListCollection.fetch({success:function(){var list='leaderboard_list';if(_this.viewOptions.view=='Friends'){list='characters_leaderboard_list';}
var lbListCollection=new Backbone.Collection(leaderboardListCollection.models[0].toJSON()[list]);_this.options.parentView.lbContent.show(new LBListView({collection:lbListCollection,'parentView':_this.options.parentView,tableView:_this.options.tableView}));}});});});}});LBListActiveChar=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplLbListActiveChar'],tagName:'table',attributes:{'class':'lb-table activeCharTable'}});LBListPagination=Backbone.Marionette.Layout.extend({template:appSettings.tpl['tplLbListPagination'],regions:{findMe:'#findMe'},onShow:function(){var _this=this;_this.viewOptions=_this.options.parentView.getURLVars();_.defer(function(){var showFindMeButton=function(rank){if(_this.viewOptions.view=='All'){if(globs.wdl.userLoggedIn){if(app.contextCharacter){_this.findMe.show(new LBFindMeButton());}}}
$('#my_rank').on('click',function(){var findMeStart=(Math.floor(parseInt(rank)/parseInt(_this.viewOptions.limit)))*parseInt(_this.viewOptions.limit);if(_this.viewOptions.activeCharId!=''){_this.viewOptions.activeCharId='/'+_this.viewOptions.activeCharId;}
app.router.navigate('/!'+_this.viewOptions.activeCharId+'/leaderboards/?type='+_this.viewOptions.type+'&period='+_this.viewOptions.period+'&view='+_this.viewOptions.view+'&world='+_this.viewOptions.world+'&limit='+_this.viewOptions.limit+'&name='+_this.viewOptions.name+'&start='+findMeStart,{trigger:false});var leaderboardListCollection=new LeaderboardListCollection({'name':_this.viewOptions.name,'period':_this.viewOptions.period,'world':_this.viewOptions.world,'limit':_this.viewOptions.limit,'start':findMeStart});leaderboardListCollection.fetch({success:function(){var lbListCollection=new Backbone.Collection(leaderboardListCollection.models[0].toJSON().leaderboard_list);_this.options.parentView.lbContent.show(new LBListView({collection:lbListCollection,'parentView':_this.options.parentView,tableView:_this.options.tableView}));}});});}
if(_this.model.get('activeCharRank')){showFindMeButton(_this.model.get('activeCharRank'));}
$('#changeView .view-options a.gridView').on('click',function(){_this.options.parentView.switchViewType($(this).attr('rel'),$(this));});if(_this.viewOptions.start==0){$('#firstBtn').addClass('disabled');$('#prevBtn').addClass('disabled');}
if(_this.model.get('totalPages')==_this.model.get('currentPage')){$('#nextBtn').addClass('disabled');$('#lastBtn').addClass('disabled');}
$('.lbPagBtn').on('click',function(trigger){if(!$(this).hasClass('disabled')){if($(this).attr('id')=='firstBtn'){_this.viewOptions.start=0;}else if($(this).attr('id')=='prevBtn'){_this.viewOptions.start=parseInt(_this.viewOptions.start)-parseInt(_this.viewOptions.limit);}else if($(this).attr('id')=='nextBtn'){_this.viewOptions.start=parseInt(_this.viewOptions.start)+parseInt(_this.viewOptions.limit);}else if($(this).attr('id')=='lastBtn'){_this.viewOptions.start=parseInt(_this.viewOptions.limit)*parseInt(_this.model.get('totalPages')-1);}
if(_this.viewOptions.activeCharId!=''){_this.viewOptions.activeCharId='/'+_this.viewOptions.activeCharId;}
app.router.navigate('/!'+_this.viewOptions.activeCharId+'/leaderboards/?type='+_this.viewOptions.type+'&period='+_this.viewOptions.period+'&view='+_this.viewOptions.view+'&world='+_this.viewOptions.world+'&limit='+_this.viewOptions.limit+'&name='+_this.viewOptions.name+'&start='+_this.viewOptions.start,{trigger:false});var leaderboardListCollection=new LeaderboardListCollection({'name':_this.viewOptions.name,'period':_this.viewOptions.period,'world':_this.viewOptions.world,'limit':_this.viewOptions.limit,'start':_this.viewOptions.start});leaderboardListCollection.fetch({success:function(){var lbListCollection=new Backbone.Collection(leaderboardListCollection.models[0].toJSON().leaderboard_list);_this.options.parentView.lbContent.show(new LBListView({collection:lbListCollection,'parentView':_this.options.parentView,tableView:_this.options.tableView}));}});}});});}});LBFindMeButton=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplLbFindMeButton']});

/* end /scripts/players/views/view-leaderboards.js*/

/* start /scripts/players/views/view-outfit.js*/
OutfitLayout=Backbone.Marionette.TopLayout.extend({onBeforeRender:function(){},name:'outfits',template:appSettings.tpl['tplOutfitsHeader'],attributes:{'id':'secOutfits','class':'s-of'},regions:{header:'#outfits-top',content:'#outfits-middle',footer:'#outfits-bottom'},onRender:function(){if(PS2.utils.gup('outfit')!=''){this.content.show(new OutfitDetailView({model:this.collection.models[0]}));}}});OutfitDetailView=Backbone.Marionette.Layout.extend({onBeforeRender:function(){this.detailTable.show(new OutfitLoader);},regions:{detailTable:"#outfitDetailTable",detailPagination:"#outfitDetailPagination"},template:appSettings.tpl['tplOutfitDetailView'],onShow:function(){var _this=this;var outfitMemberCollection=new OutfitMemberCollection();outfitMemberCollection.fetch({success:function(){_this.detailTable.show(new OutfitDetailTable({collection:outfitMemberCollection,parentRegions:{pagination:_this.detailPagination,detailTable:_this.detailTable}}));}});}});OutfitDetailPagination=Backbone.Marionette.ItemView.extend({onBeforeRender:function(){this.model=new Backbone.Model(this.collection.options);},template:appSettings.tpl['tplOutfitDetailPagination'],onShow:function(){var _this=this;var data=this.model.toJSON();if(data.currentMemberPage==1){$('#outfitDetailPagination #prev').addClass('disabled');$('#outfitDetailPagination #first').addClass('disabled');}else{$('#outfitDetailPagination #prev').removeClass('disabled');$('#outfitDetailPagination #first').removeClass('disabled');}
if(data.currentMemberPage==data.memberPages){$('#outfitDetailPagination #next').addClass('disabled');$('#outfitDetailPagination #last').addClass('disabled');}else{$('#outfitDetailPagination #next').removeClass('disabled');$('#outfitDetailPagination #last').removeClass('disabled');}
$('#outfitDetailPagination .pagButton').click(function(){if(!$(this).hasClass('disabled')){$('#outfitDetailTable').addClass('disabled');}});$('#outfitDetailPagination #first').click(function(){if(!$(this).hasClass('disabled')){_this.getDataRange(data.outfit_id,'0',data.limit);}});$('#outfitDetailPagination #prev').click(function(){if(!$(this).hasClass('disabled')){_this.getDataRange(data.outfit_id,data.prevStart.toString(),data.limit);}});$('#outfitDetailPagination #next').click(function(){if(!$(this).hasClass('disabled')){_this.getDataRange(data.outfit_id,data.nextStart,data.limit);}});$('#outfitDetailPagination #last').click(function(){if(!$(this).hasClass('disabled')){_this.getDataRange(data.outfit_id,((data.memberPages-1)*data.limit),data.limit);}});},getDataRange:function(id,start,limit){var _this=this;var newCollection=new OutfitMemberCollection(this.model,{'outfit_id':id,'start':start,'limit':limit});$('.pagButton').addClass('disabled');$('.loader').show();newCollection.fetch({success:function(){$('#outfitDetailTable').removeClass('disabled');$('html, body').animate({scrollTop:$('#outfitDetailTable').offset().top});_this.options.parentRegions.detailTable.show(new OutfitDetailTable({collection:newCollection,parentRegions:_this.options.parentRegions}));app.router.navigate('/!/outfits/?outfit='+id+'&c:start='+start+'&limit='+limit);}});}})
OutfitListEmptyTable=Backbone.Marionette.ItemView.extend({tagName:'tr',template:appSettings.tpl['tplOutfitListEmptyTable']});OutfitDetailTableItem=Backbone.Marionette.ItemView.extend({initialize:function(){this.$el.addClass(this.model.get('itemClass'));},tagName:'tr',template:appSettings.tpl['tplOutfitTableItem']});OutfitDetailTable=Backbone.Marionette.CompositeView.extend({onBeforeRender:function(){this.options.count=0;},getItemView:function(item){if(!item){return OutfitDetailTableItem;}else{item.set({'itemClass':(this.options.count%2)?"alt-row":"reg-row",});this.options.count++
return OutfitDetailTableItem;}},onShow:function(){this.options.parentRegions.pagination.show(new OutfitDetailPagination({collection:this.collection,parentRegions:this.options.parentRegions}));$('.unknownTooltip').tooltip({'position':'center right','relative':'true','effect':'fade','fadeInSpeed':300,'offset':[0,10]});},tagName:'table',template:appSettings.tpl['tplOutfitTableView'],itemView:OutfitDetailTableItem,itemViewContainer:'tbody',emptyView:OutfitListEmptyTable});OutfitLoader=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplOutfitLoader']});

/* end /scripts/players/views/view-outfit.js*/

/* start /scripts/players/views/view-social.js*/
SocialLayout=Backbone.Marionette.TopLayout.extend({name:'overview',attributes:{'id':'secSocial','class':'s-so'},regions:{friendsContainer:'#friendsContainer .small-scroll-pane',updateFeed:'#updateFeed',liveEvents:'#liveEvents',leftPromo:'.leftPromo',rightPromo:'.rightPromo',fanSites:'#fanSites'},initialize:function(){var _this=this;_this.addedEventNum=0;this.listenTo(dispatcher,"dispatchedGameEvent",this.gameEvent);this.eventBuffer=new Buffer(function(event){if(event){_this.eventPlayerLogout=appSettings.tpl['tplOverviewCharacterLogoutUpdate'];_this.eventPlayerLogin=appSettings.tpl['tplOverviewCharacterLoginUpdate'];_this.eventBattleRankUp=appSettings.tpl['tplOverviewBattleRankUpUpdate'];_this.eventFacilityControl=appSettings.tpl['tplOverviewFacilityUpdate'];_this.eventItemAdded=appSettings.tpl['tplOverviewItemUpdate'];if(event.event_name&&event.event_name=='FacilityControl'&&event.data_list.faction_new!==event.data_list.faction_old){event.data_list.facility_name=appSettings.facilityTable[event.data_list.facility_id].name;event.faction=app.contextCharacter.toJSON().details.empire.name;}
if($('#updateOffline')){$('#updateOffline').hide();}
if(_this['event'+event.event_name]){$('#updateFeed > div').prepend('<div class="updateContainer addedEvent'+_this.addedEventNum+'" style="padding: 0 10px; display: none;"></div>');$('.addedEvent'+_this.addedEventNum).html(_this['event'+event.event_name](event)).animate({'height':'toggle','padding':'5px 10px'},500);}
if($('#updateFeed .updateContainer').length>7){$('#updateFeed .updateContainer:visible:last').animate({'height':0,'opacity':'0','padding':'0 10px'},500,function(){$(this).hide();});}
_this.addedEventNum++;}},{delay:600});},template:appSettings.tpl['tplTemporaryOverview'],onRender:function(){var _this=this;if(PS2.utils.hasNestedProperty(appSettings,'ducsContent.socialAdsList.list')){_.each(appSettings.ducsContent.socialAdsList.list,function(item){if(item.subtypeString){_this[item.subtypeString+'Promo'].show(new PromoView({'model':new Backbone.Model(item)}));}});}
if(PS2.utils.hasNestedProperty(appSettings,'ducsContent.fanSiteList.list')){_.each(appSettings.ducsContent.fanSiteList.list,function(item,itemKey){if(itemKey==appSettings.ducsContent.fanSiteList.length-1){item.isLast=true;}else{item.isLast=false;}});var fanSiteCollection=new Backbone.Collection(appSettings.ducsContent.fanSiteList.list);_this.fanSites.show(new FanSiteCollectionView({'collection':fanSiteCollection}));}
if(app.contextCharacter.events){if(app.contextCharacter.events.length>0){_this.$el.find('#updateOffline p span').html('ALREADY LOADED');this.addHistoricalEvents();}else{_this.$el.find('#updateOffline p span').html(i18n.overview.socialWall.nomsg);}}else{_this.$el.find('#updateOffline p span').html(i18n.overview.socialWall.loading);this.listenTo(dispatcher,"characterHistoricalEvents-ready",this.addHistoricalEvents);}
this.friendsArray=[];if(app.contextCharacter.get('friendsIds')){this.customRender(this);}else{this.listenTo(dispatcher,'friendsList-ready',function(){_this.customRender(_this);});}
this.listenTo(dispatcher,'friendLogin',this.friendOnline);this.listenTo(dispatcher,'friendLogout',this.friendOffline);},onShow:function(){_.defer(function(){$('.fan-site-link').mousedown(function(){DTKR.trackEvent({eventName:'link',linkDesc:'exit : fan site : ps2 universe'});});});},gameEvent:function(eventdata){eventdata.convertGUIDToName=function(id){var guid=id||this.player_guid;if(guid==app.activeUser.getActiveChar()){return app.activeUser.get(name);}
var name='n/a';var friends=app.contextCharacter.get('friendsIds');if(friends[guid]){name=friends[guid].name.first;}
return name;}
if(this.validEvent(eventdata)){this.eventBuffer.add(eventdata);}},validEvent:function(event){if(!event.event_name||event.data_list.context=="PcZone::AddItemAndDefaultAttachments"||event.data_list.context=="GiveRewardBundle:Ding"||event.event_name=="GainExperience"||event.event_name=="Death"||event.event_name=="SkillAdded"||PS2.utils.hasNestedProperty(appSettings,('CONTINENTS_BY_ID.'+event.data_list.zone_id+'.name'))&&!appSettings.CONTINENTS[appSettings.CONTINENTS_BY_ID[event.data_list.zone_id].name.toLowerCase()].visibleSocialWall){return false;}else if(event.data_list.faction_new==event.data_list.faction_old){return false;}else if(['310088','310612','310061','310062','310063'].indexOf(event.data_list.facility_id)!=-1){return false;}
return true;},addHistoricalEvents:function(){if(app.contextCharacter.events.length>0){var historicalItems=app.contextCharacter.events;var sortByTime=function(a,b){return b.timestamp-a.timestamp;}
historicalItems=historicalItems.sort(sortByTime);this.updateFeed.show(new HistoricalEventsView({collection:new Backbone.Collection(historicalItems)}));}else{this.$el.find('#updateOffline p span').html(i18n.overview.socialWall.nomsg);}},customRender:function(_this){_.each(app.contextCharacter.get('friendsIds'),function(item){_this.friendsArray.push(item);});_this.friendsContainer.show(new FriendsListView({collection:new Backbone.Collection(_this.friendsArray)}));},friendOnline:function(eventData){if(eventData.player_guid!=app.activeUser.getActiveChar()){$('#friendOffline > .'+eventData.player_guid).css({height:0}).detach().prependTo('#friendOnline').animate({height:24});$('#numFriendOnline').html($('#friendOnline li').length);$('#numFriendOffline').html($('#friendOffline li').length);app.contextCharacter.attributes.friendsIds[eventData.player_guid].online='1';}},friendOffline:function(eventData){if(eventData.player_guid!=app.activeUser.getActiveChar()){$('#friendOnline > .'+eventData.player_guid).css({height:0}).detach().prependTo('#friendOffline').animate({height:24});$('#numFriendOnline').html($('#friendOnline li').length);$('#numFriendOffline').html($('#friendOffline li').length);app.contextCharacter.attributes.friendsIds[eventData.player_guid].online='0';}}});HistoricalEventsItemAdded=Backbone.Marionette.ItemView.extend({attributes:{'class':'updateContainer'},template:appSettings.tpl['tplOverviewItemUpdate'],templateHelpers:{convertGUIDToName:function(id){var guid=this.character_id||this.player_guid;if(guid==app.activeUser.getActiveChar()){return app.activeUser.get(name);}else if(guid==app.contextCharacter.id){return app.contextCharacter.toJSON().details.name.first;}
var name='n/a';var friends=app.contextCharacter.get('friendsIds');if(friends[guid]){name=friends[guid].name.first;}
return name;}},onBeforeRender:function(){this.model.set({data_list:{item_id:this.model.get('item_id')},action_timestamp:this.model.get('timestamp')});}});HistoricalEventsBattleRankUp=Backbone.Marionette.ItemView.extend({attributes:{'class':'updateContainer'},template:appSettings.tpl['tplOverviewHistoricalBattleRankUpUpdate'],templateHelpers:{convertGUIDToName:function(id){var guid=this.character_id||this.player_guid;if(guid==app.activeUser.getActiveChar()){return app.activeUser.get(name);}else if(guid==app.contextCharacter.id){return app.contextCharacter.toJSON().name.first;}
var name='n/a';var friends=app.contextCharacter.get('friendsIds');if(friends[guid]){name=friends[guid].name.first;}
return name;}},onBeforeRender:function(){this.model.set({data_list:{item_id:this.model.get('item_id')},action_timestamp:this.model.get('timestamp'),faction:app.contextCharacter.toJSON().details.empire.name});}});HistoricalEventsView=Backbone.Marionette.CollectionView.extend({itemView:HistoricalEventsItemAdded,getItemView:function(item){if(!item){return HistoricalEventsItemAdded;}else{return window['HistoricalEvents'+item.get('event_type')];}}});FriendsListItem=Backbone.Marionette.ItemView.extend({tagName:'li',onBeforeRender:function(){this.$el.addClass(this.model.get('character_id'));},onShow:function(){_.defer(function(){$('#numFriendOffline').html($('#friendOffline li').length);$('#numFriendOnline').html($('#friendOnline li').length);$(".status-header").off('click');$(".status-header").on('click',function(){if($(this).next('ul').children('li').length==0){return false;}else{if($(this).hasClass('current')){$(this).removeClass('current');$(this).next("ul.friend-online-status").slideUp();$(this).find('.status-open-state').html('+');}else{$(this).addClass("current");$(this).next("ul.friend-online-status").slideDown();$(this).find('.status-open-state').html('-');}}});});},template:appSettings.tpl['tplFriendsListItem']});FriendsListView=Backbone.Marionette.CompositeView.extend({onBeforeRender:function(){if(app.activeUser.getActiveChar()==app.contextCharacter.id){this.template=appSettings.tpl['tplFriendsList'];this.activeUser=true;}else{this.template=appSettings.tpl['tplFriendsListOther'];this.activeUser=false;}},getItemView:function(item,ItemView){if(!item){return FriendsListItem;}else{if(app.activeUser.getActiveChar()==app.contextCharacter.id){if(parseInt(item.get('online'))){this.itemViewContainer='#friendOnline'}else{this.itemViewContainer='#friendOffline'}}else{this.itemViewContainer='#friendOffline'}
return FriendsListItem;}},onShow:function(){if($('.status-header').length==0&&($('#friendOffline').is(':empty'))){$('#friendOffline').html(i18n.overview.friendsList.noFriends);}
_.defer(function(){$('#friendsContainer .small-scroll-pane').scrollbar();});},appendHtml:function(collectionView,itemView,index){if(itemView.model.get('character')){collectionView.$(collectionView.itemViewContainer).append(itemView.el);}},itemViewContainer:'#friendOffline',itemView:FriendsListItem});PromosItemView=Backbone.Marionette.ItemView.extend({tagName:'div',onBeforeRender:function(){},onShow:function(){},template:appSettings.tpl['tplPromosItem']});PromoView=Backbone.Marionette.ItemView.extend({className:'promo-image',template:appSettings.tpl['tplSocialPromos']});FanSiteCollectionItemEmpty=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplSocialFanSiteItemEmpty']});FanSiteCollectionItem=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplSocialFanSiteItem']});FanSiteCollectionView=Backbone.Marionette.CollectionView.extend({itemView:FanSiteCollectionItem,emptyView:FanSiteCollectionItemEmpty});

/* end /scripts/players/views/view-social.js*/

/* start /scripts/players/views/view-splash.js*/
SplashLayout=Backbone.Marionette.TopLayout.extend({name:'splash',template:appSettings.tpl['tplSplash'],attributes:{'class':'s-splash'}});

/* end /scripts/players/views/view-splash.js*/

/* start /scripts/players/views/view-certifications.js*/
CertificationsLayout=Backbone.Marionette.TopLayout.extend({name:'certs',template:appSettings.tpl['tplComingSoon3'],attributes:{'id':'secSocial','class':'s-so'}});

/* end /scripts/players/views/view-certifications.js*/

/* start /scripts/players/views/view-killboard.js*/
KillboardLayout=Backbone.Marionette.TopLayout.extend({name:'killboard',template:appSettings.tpl['tplKillboardHeader'],regions:{viewContentContainer:'.view-content-container'},onRender:function(){this.viewContentContainer.show(new KillboardTabsView(this.options));}});KillboardTabsView=Backbone.Marionette.Layout.extend({template:appSettings.tpl['tplKillboardTabs'],regions:{tabHeader:'#tabHeader',timelineTab:'#timelineTab',killsTab:'#killsTab',deathsTab:'#deathsTab'},onRender:function(){var $kbTopTabs=this.$el.find('#kbTabContainer');this.tabIndex=0;if(this.options.view=='kills'){this.tabHeader.show(new EmpireFilterBarView(this.options));this.tabIndex=1;this.registerFilterClickEvents();this.killsTab.show(new KillsTableHeaderView(this.options));}else if(this.options.view=='deaths'){this.tabHeader.show(new EmpireFilterBarView(this.options));this.tabIndex=2;this.registerFilterClickEvents();this.deathsTab.show(new DeathsTableHeaderView(this.options));}else{this.tabHeader.show(new TimelineFilterBarView(this.options));if(this.options.filter=='kills'){this.$el.find('#filterKillsButton').addClass('selected').siblings('li').removeClass('selected');}else if(this.options.filter=='deaths'){this.$el.find('#filterDeathsButton').addClass('selected').siblings('li').removeClass('selected');}else{this.$el.find('#filterAllButton').addClass('selected').siblings('li').removeClass('selected');}
this.timelineTab.show(new TimelineTableHeaderView(this.options));this.$el.find('#timelineFilterBar').on('click','li',function(){app.router.navigate('/!/'+app.contextCharacter.toJSON().id+'/killboard/?view=timeline&filter='+$(this).data('filteroptions'),{trigger:true});});}
$kbTopTabs.tabs(".kbTab",{current:'active',initialIndex:this.tabIndex,tabs:'div'});$kbTopTabs.on('click','.kbTabButton',function(){app.router.navigate('/!/'+app.contextCharacter.toJSON().id+'/killboard/?view='+$(this).attr('rel'),{trigger:true});});},registerFilterClickEvents:function(){this.$el.find('#empireFilterBar').on('click','li',function(){var empireFilter=$(this).attr('rel');$(this).addClass('selected').siblings('li').removeClass('selected');if(empireFilter=='all'){$('#kbTabPaneContainer tbody tr').show();}else{$('#kbTabPaneContainer tbody tr').hide();$('#kbTabPaneContainer tbody tr.'+empireFilter).show();$('#noDataRow').show();}});}});EmpireFilterBarView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplEmpireFilterBar']});noDataRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineNoDataRow']});killsTabKillsRow=Backbone.Marionette.ItemView.extend({onBeforeRender:function(){},template:appSettings.tpl['tplKillsTableRow'],onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);}});KillsTableHeaderView=Backbone.Marionette.CompositeView.extend({onBeforeRender:function(){this.hcData={ncVal:0,vsVal:0,trVal:0,nsVal:0,title:i18n.killboard.killboardKillsTabView.initialize.recentKills}
this.options.rankCount=1;},onRender:function(){app.contextCharacter.toJSON().highchartData.killboards=this.hcData;this.hcData=null;_.defer(function(){PS2.highcharts.KillboardKillsPerFaction({'colors':['#0137a1','#5d2de0','#9e0202'],'hcData':app.contextCharacter.toJSON().highchartData.killboards});$('.kbTooltip').tooltip({'position':'center right','relative':'true','effect':'fade','fadeInSpeed':300,'offset':[0,10]});});},template:appSettings.tpl['tplKillboardKillsTable'],itemViewContainer:'tbody',itemView:killsTabKillsRow,emptyView:noDataRow,getItemView:function(item){if(!item){return killsTabKillsRow;}else{if(item.get('character_id')!=app.contextCharacter.toJSON().id){item.set('killsRank',this.options.rankCount);this.options.rankCount++}else{item.set('killsRank',0);}
return killsTabKillsRow;}},appendHtml:function(collectionView,itemView){if(PS2.utils.hasNestedProperty(itemView,'model.attributes.character.type.faction')){itemView.model.toJSON().killsRank=5;this.hcData[itemView.model.toJSON().character.type.faction+'Val']++;}
collectionView.$('tbody').append(itemView.el);}});deathsTabDeathsRow=Backbone.Marionette.ItemView.extend({onBeforeRender:function(){},template:appSettings.tpl['tplDeathsTableRow'],onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);}});DeathsTableHeaderView=Backbone.Marionette.CompositeView.extend({onBeforeRender:function(){this.hcData={ncVal:0,vsVal:0,trVal:0,nsVal:0,title:i18n.killboard.killboardKillsTabView.initialize.recentKills}
this.options.rankCount=1;},regions:{killsTableTbody:'#deathsTable tbody'},onRender:function(){app.contextCharacter.toJSON().highchartData.killboards=this.hcData;this.hcData=null;_.defer(function(){PS2.highcharts.KillboardKillsPerFaction({'colors':['#0137a1','#5d2de0','#9e0202'],'hcData':app.contextCharacter.toJSON().highchartData.killboards});$('.kbTooltip').tooltip({'position':'center right','relative':'true','effect':'fade','fadeInSpeed':300,'offset':[0,10]});});},template:appSettings.tpl['tplKillboardDeathsTable'],itemViewContainer:'tbody',emptyView:noDataRow,getItemView:function(item){if(!item){return deathsTabDeathsRow}else{if(item.get('character_id')!=app.contextCharacter.toJSON().id){item.set('killsRank',this.options.rankCount);this.options.rankCount++}else{item.set('killsRank',0);}
return deathsTabDeathsRow;}},appendHtml:function(collectionView,itemView){if(PS2.utils.hasNestedProperty(itemView,'model.attributes.character.type.faction')){this.hcData[itemView.model.toJSON().character.type.faction+'Val']++;}
collectionView.$('tbody').append(itemView.el);}});TimelineFilterBarView=Backbone.Marionette.ItemView.extend({template:appSettings.tpl['tplTimelineFilterBar']});killRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineKillRow']});deathRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineDeathRow']});suicideDeathRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineSuicideRow']});suicideKillRow=Backbone.Marionette.ItemView.extend({onBeforeRender:function(){return false;},onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineSuicideRow']});vehicleWeaponDeathRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineVehicleWeaponDeathRow']});vehicleWeaponKillRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineVehicleWeaponKillRow']});vehicleKillRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineVehicleKillRow']});vehicleDeathRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineVehicleDeathRow']});unknownKillRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineUnknownKillRow']});unknownDeathRow=Backbone.Marionette.ItemView.extend({onRender:function(){this.$el=this.$el.children();this.setElement(this.$el);},template:appSettings.tpl['tplTimelineUnknownDeathRow']});TimelineTableHeaderView=Backbone.Marionette.CompositeView.extend({onBeforeRender:function(){var titleType=this.options.filter||'';this.hcData={ncVal:0,vsVal:0,trVal:0,nsVal:0,locations:{},methods:{}};this.sortedLocations=[];this.sortedMethods=[];if(titleType=='all'||titleType==''){titleType=i18n.killboard.killboardTimelineTabView.render.combatAction;}else{titleType=titleType.toUpperCase();}
this.hcData.title=i18n.killboard.killboardTimelineTabView.render.recent+' '+titleType;this.hcData.locTitle=titleType+' '+i18n.killboard.killboardTimelineTabView.render.location;this.hcData.methodTitle=titleType+' '+i18n.killboard.killboardTimelineTabView.render.method;},regions:{timelineTableTbody:'#timelineTable tbody'},template:appSettings.tpl['tplTimelineTableHeader'],emptyView:noDataRow,getItemView:function(item){if(!item){return deathRow;}else{if(item.toJSON().type!='suicideKill'){this.countHCData(item,item.toJSON().rowType);}
return window[item.attributes.type+'Row'];}},appendHtml:function(collectionView,itemView){if(itemView.model.toJSON().type!='suicideKill'){collectionView.$('tbody').append(itemView.el);}},onRender:function(){var _this=this;this.sortedLocations=_.sortBy(this.hcData.locations,function(val,key,object){return-val.y;});this.hcData.locations=this.sortedLocations;this.sortedMethods=_.sortBy(this.hcData.methods,function(val,key,object){return-val.y;});this.sortedMethods=this.sortedMethods.slice(0,5);this.hcData.methods=this.sortedMethods;app.contextCharacter.toJSON().highchartData.killboards=this.hcData;this.hcData=null;_.defer(function(){PS2.highcharts.KillboardKillsPerFaction({'colors':['#0137a1','#5d2de0','#9e0202'],'hcData':app.contextCharacter.toJSON().highchartData.killboards});PS2.highcharts.KillboardKillsPerContinent({'colors':[],'hcData':app.contextCharacter.toJSON().highchartData.killboards});PS2.highcharts.KillboardKillsPerMethod({'colors':['#33578C','#943735','#728E3C','#725B8D','#00b5b3'],'hcData':app.contextCharacter.toJSON().highchartData.killboards});$('.kbTooltip').tooltip({'position':'center right','relative':'true','effect':'fade','fadeInSpeed':300,'offset':[0,10]});});},countHCData:function(death,who){var death=death.toJSON();var _continent=death.continent.toLowerCase();var _method=death.weapon.toLowerCase().replace(/[\(\)\-\s,]/g,'');if(this.hcData.locations[_continent]){this.hcData.locations[_continent].y++;this.hcData.locations[_continent].name=(death.continent.toUpperCase()+' <span style="color:#4FD4E0">['+this.hcData.locations[_continent].y+']</span>');}else{if(_continent!='n/a'){this.hcData.locations[_continent]={};this.hcData.locations[_continent].y=1;this.hcData.locations[_continent].name=(death.continent.toUpperCase()+' <span style="color:#4FD4E0">['+this.hcData.locations[_continent].y+']</span>');this.hcData.locations[_continent].nameLower=death.continent.toLowerCase();}}
if(death.weapon!=''){if(this.hcData.methods[_method]){this.hcData.methods[_method].y++;this.hcData.methods[_method].name=(death.weapon.toUpperCase()+' <span style="color:#4FD4E0">['+this.hcData.methods[_method].y+']</span>');}else{this.hcData.methods[_method]={};this.hcData.methods[_method].y=1;this.hcData.methods[_method].name=(death.weapon.toUpperCase()+' <span style="color:#4FD4E0">['+this.hcData.methods[_method].y+']</span>');this.hcData.methods[_method].nameLower=death.weapon.toLowerCase();}}
if(death[who]&&death[who].type&&death[who].type.faction){this.hcData[(death[who].type.faction+'Val')]++;}}});

/* end /scripts/players/views/view-killboard.js*/

/* start /scripts/players/views/view-vehicle-overview.js*/
VehicleOverviewListLayout=Backbone.Marionette.TopLayout.extend({name:'vehicleOverview',attributes:{'id':'secVehicleOverview','class':'v-ov'},regions:{viewContentContainer:'.view-content-container'},template:appSettings.tpl['tplVehicleHeaderNoChar'],onBeforeRender:function(){this.collection=new Backbone.Collection(appSettings.allVehiclesList);},onRender:function(){this.viewContentContainer.show(new VehicleOverviewListItemView({collection:this.collection}));},onShow:function(){$("#allVehiclesButton").addClass("on").attr('href','javascript:;');PS2.utils.bindPopups();}});VehicleListItem=Backbone.Marionette.ItemView.extend({attributes:{'class':'vehicleItem modal-trigger',},onBeforeRender:function(){this.model.set({'id':this.model.get('vehId'),'vID':this.model.get('vehId')+'-'+this.model.get('vehicleFaction')});this.$el.data('popupOptions',{parentDetails:this.model.toJSON(),popupType:'vehicle',parentID:this.model.get('vID'),'vehicleID':this.model.get('id'),'faction':this.model.get('faction_id')});},template:appSettings.tpl['tplVehicleOverviewItem']});VehicleOverviewListItemView=Backbone.Marionette.CollectionView.extend({itemView:VehicleListItem});

/* end /scripts/players/views/view-vehicle-overview.js*/

/* start /scripts/players/map/mapping.js*/
var ps2Map=function(){var mapLoc,mapFaction,hexFactionImage,mapDiv='map_canvas',mapParentDiv='mapContainer',dataServiceURL=appSettings.mapFactionList+"/?world_id=",mapDataURL=appSettings.censusUrl+"/",imageTiles,continent=false,server=false,facilityRegion={},dataFailed=false,missingData=[],COORD_CONV=0.0001220703125;MAP_MIDPOINT=4096;if(!appSettings.showMapTerritory){appSettings.showMapTerritory=true;}
if(!appSettings.showMapBases){appSettings.showMapBases=true;}
if(!appSettings.showMapLattice){appSettings.showMapLattice=true;}
if(!appSettings.showMapAerospace){appSettings.showMapAerospace=true;}
if(!appSettings.showMapInfantry){appSettings.showMapInfantry=true;}
if(!appSettings.showMapMechanized){appSettings.showMapMechanized=true;}
var REGION_CONST={NAME:{'1':'Vanu Sovereignty','2':'New Conglomerate','3':'Terran Republic','4':'Nanite Systems'},COLOR:{'1':'#9E52E0','2':'#33ADFF','3':'#DF2020','4':'#888677'},HIGHLIGHT:{'1':'#501782','2':'#005C99','3':'#590D0D','4':'#545936'},BASE:{'1':'https://www-cdn.planetside2.com/images/players/map/icons/base_vs.png?v=1515721543','2':'https://www-cdn.planetside2.com/images/players/map/icons/base_nc.png?v=2631424408','3':'https://www-cdn.planetside2.com/images/players/map/icons/base_tr.png?v=2416911956','4':'https://www-cdn.planetside2.com/images/players/map/icons/base.png?v=1882272926'},RESOURCE:null,RESOURCE_NAME:null};var GRID_OPACITY=0.4;var mapData={};var mapRef;var mapLayer={};var init=function(_map,_server){$.getScript("/scripts/players/map/leaflet.js",function(){ps2Map.destruct();ps2Map.build(_map,_server);addControls();});};var build=function(_map,_server,cb){cb=cb||function(){};ps2Map.mapFacilities={};ps2Map.mapLayer.Regions=new L.LayerGroup();ps2Map.mapLayer.Facilities=new L.LayerGroup();ps2Map.mapLayer.Lattice=new L.LayerGroup();ps2Map.mapLayer['1']=new L.LayerGroup();ps2Map.mapLayer['2']=new L.LayerGroup();ps2Map.mapLayer['3']=new L.LayerGroup();ps2Map.mapLayer['4']=new L.LayerGroup();if(setMap(_map)===true){try{setServer(_server);}catch(e){}
try{$.ajax({url:mapDataURL+'map_region?c:internal=true&zone_id='+appSettings.CONTINENTS[_map].zone+'&c:join=map_hex^list:1^inject_at:hex^hide:map_region_id%27zone_id&c:limit=5000',dataType:'jsonp',timeout:5000}).done(function(data){if(typeof data['map_region_list']!=='undefined'){for(var k=0;k<data['map_region_list'].length;k++){var dataBase=data['map_region_list'][k];if(typeof dataBase.map_region_id!=='undefined'){var region=dataBase.map_region_id;ps2Map.mapData[region]={};ps2Map.mapData[region]['name']=dataBase.facility_name;ps2Map.mapData[region]['grids']=[];for(var j=0;j<dataBase.hex.length;j++){ps2Map.mapData[region]['grids'].push({'x':dataBase.hex[j].x,'y':dataBase.hex[j].y});}
if(typeof dataBase.facility_type_id!=='undefined'){if(dataBase.location_x){ps2Map.mapFacilities[dataBase.facility_id]={name:dataBase.facility_name,x:dataBase.location_z,y:dataBase.location_x,facilityLinks:appSettings.facilityTable[dataBase.facility_id].facilityLinks,regionId:dataBase.map_region_id,backLinks:appSettings.facilityTable[dataBase.facility_id].backLinks};}
ps2Map.mapData[region].facility={'type':dataBase.facility_type_id,'location':{x:dataBase.location_x,y:dataBase.location_y,z:dataBase.location_z}};if(typeof dataBase['id']!=='undefined'){ps2Map.facilityRegion[dataBase['id']]=region;}}}}
setMapTiles();if(_server!==false){setRegionFaction(appSettings.CONTINENTS[_map].zone,_server);cb();}else{ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");renderMap();}}else{setMapTiles();renderMap();ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");}}).error(function(){ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");setMapTiles();renderMap();});}catch(err){ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");setMapTiles();renderMap();}finally{}}else{throw{err:'cantSetMapOrServer',type:'mapInit'}}};var destruct=function(){ps2Map.dataFailed=false;ps2Map.missingData=[];ps2Map.hideAll();$('#'+mapDiv).remove()
$('#'+mapParentDiv).append($('<div>').attr('id',mapDiv));$('#mapSpinner').show();ps2Map.mapLayer.Regions=null;ps2Map.mapLayer.Facilities=null;ps2Map.mapLayer.Lattice=null;ps2Map.mapLayer['1']=null;ps2Map.mapLayer['2']=null;ps2Map.mapLayer['3']=null;ps2Map.mapLayer['4']=null;ps2Map.mapRef=null;_.each(ps2Map.mapData,function(region){clearInterval(region.flashInterval);});ps2Map.mapData={};ps2Map.facilityRegion={};dispatcher.off('receivedMapFacilityEvent',null,this);};function setRegionFaction(_zone,_server){try{$.ajax({url:dataServiceURL+_server+'&zone_ids='+_zone,dataType:'jsonp',timeout:5000}).done(function(data){if(typeof data.map_list!=='undefined'&&typeof data.map_list[0]!=='undefined'&&typeof data.map_list[0].Regions!=='undefined'&&typeof data.map_list[0].Regions.Row!=='undefined'){for(var k=0;k<data.map_list[0].Regions.Row.length;k++){try{if(typeof data.map_list[0].Regions.Row[k].RowData.RegionId!=='undefined'&&typeof data.map_list[0].Regions.Row[k].RowData.FactionId!=='undefined'){ps2Map.setFaction(data.map_list[0].Regions.Row[k].RowData.RegionId,data.map_list[0].Regions.Row[k].RowData.FactionId);}}catch(err){}}
if(ws&&ws.socket){ws.unsubscribeFromWorld('all');ws.subscribeToWorld(_server);}}else{ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");}
renderMap();}).error(function(){ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");renderMap();});}catch(err){ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");renderMap();}finally{listenToEvents(_server);}};function renderMap(){try{var paths,grid,k,j;ps2MapGrid.setHexSize(ps2Map.hexSize);for(region in ps2Map.mapData){ps2Map.mapData[region].polygon=[];ps2Map.mapData[region].paths=[];ps2Map.mapData[region].outerPolyPoints=[];for(k=0;k<ps2Map.mapData[region].grids.length;k++){paths=[];grid=ps2MapGrid.getHexCoord(ps2Map.mapData[region].grids[k].x,ps2Map.mapData[region].grids[k].y);for(j=0;j<grid.length;j++){var hexPoint=new L.LatLng(convertY(grid[j].y),convertX(grid[j].x));hexPoint.index=j;hexPoint.parents=[k];ps2Map.mapData[region].outerPolyPoints.push(hexPoint);paths.push(hexPoint);}
paths.index=k;ps2Map.mapData[region].paths.push(paths);}
var pointCounter={};_.each(ps2Map.mapData[region].outerPolyPoints,function(point){var pointID='lat'+point.lat+'lng'+point.lng;if(pointCounter[pointID]){pointCounter[pointID].count+=1;pointCounter[pointID].data.parents.push(point.parents[0]);}else{pointCounter[pointID]={data:point,count:1};}});ps2Map.mapData[region].outerPolyPoints=_.filter(ps2Map.mapData[region].outerPolyPoints,function(point){var pointID='lat'+point.lat+'lng'+point.lng;point.parents=pointCounter[pointID].data.parents;_.each(point.parents,function(parent){_.each(ps2Map.mapData[region].paths[parent],function(pathPoint){var pathPointID='lat'+pathPoint.lat+'lng'+pathPoint.lng;if(pathPointID==pointID){pathPoint.parents=pointCounter[pointID].data.parents;}});});if(pointCounter[pointID].count<=2){return true;}else{return false;}});ps2Map.mapData[region].outerPolyPoints=_.uniq(ps2Map.mapData[region].outerPolyPoints,function(point){return'lat'+point.lat+'lng'+point.lng;});ps2Map.mapData[region].OPP={};_.each(ps2Map.mapData[region].outerPolyPoints,function(point){var key='lat'+point.lat+'lng'+point.lng;ps2Map.mapData[region].OPP[key]=point;});ps2Map.orderPolyPoints(region,ps2Map.mapData[region].outerPolyPoints[1]);if(typeof ps2Map.mapData[region].faction!=='undefined'){ps2Map.mapData[region].polygon.push(new L.Polygon(ps2Map.mapData[region].uberGrid,{color:'#000',opacity:1.0,fillColor:ps2Map.getColor(region),fillOpacity:GRID_OPACITY,stroke:true,weight:1.5,region:region,faction:ps2Map.getFactionName(region),resourceValue:null,resourceId:null}));}
for(k=0;k<ps2Map.mapData[region].polygon.length;k++){ps2Map.mapData[region].polygon[k].on('mouseover',function(){$('#mapInfoContainer').show();ps2Map.mapData[this.options.region].polygon[0].bringToFront();ps2Map.mapData[this.options.region].polygon[0].setStyle({color:'#fff',fillColor:ps2Map.getHighlight(this.options.region),fillOpacity:GRID_OPACITY})
hexFactionImage.removeClass().addClass('faction'+ps2Map.mapData[this.options.region].faction);mapLoc.html(getName(this.options.region));});ps2Map.mapData[region].polygon[k].on('mouseout',function(){$('#mapInfoContainer').hide();ps2Map.mapData[this.options.region].polygon[0].setStyle({color:'#000',fillColor:ps2Map.getColor(this.options.region),fillOpacity:GRID_OPACITY})
mapLoc.html('');});ps2Map.mapLayer.Regions.addLayer(ps2Map.mapData[region].polygon[k]);}
if(typeof ps2Map.mapData[region].facility!=='undefined'&&typeof ps2Map.mapData[region].facility['location']['x']!=='undefined'&&typeof ps2Map.mapData[region].facility['location']['z']!=='undefined'&&typeof ps2Map.mapData[region].faction!=='undefined'){ps2Map.mapData[region].facility.marker=new L.Marker(new L.LatLng(convertY(ps2Map.mapData[region].facility['location']['x']),convertX(ps2Map.mapData[region].facility['location']['z'])),{options:{clickable:false},icon:new L.Icon({iconUrl:ps2Map.getBaseImage(region),iconSize:[22,22]}),title:ps2Map.getName(region),faction:ps2Map.getFactionName(region),type:ps2Map.mapData[region].facility['type']});}}
showMap();}catch(err){ps2Map.dataFailed=true;ps2Map.missingData.push("region");ps2Map.missingData.push("facility");showMap();throw{err:'mapRegionRenderFailed',type:'mapInit'};}finally{}};function showMap(){try{ps2Map.mapRef=L.map('map_canvas',{center:[.5,.5],zoom:1,minZoom:1,maxZoom:5,zoomControl:false,attributionControl:false,layers:new L.TileLayer('https://www-cdn.planetside2.com'+imageTiles+'{z}_{x}_{y}.jpg?v=32068625',{noWrap:true}),crs:L.CRS.Simple}).addEventListener('zoomend',function(){setIconZoom(ps2Map.mapRef.getZoom());if(ps2Map.mapRef.getZoom()==1){ps2Map.mapRef.setView([0.5,0.5],1,false);}
if($('#showBase em').hasClass("selected")){showFacilities();}
try{$('#mapZoomSlider').data('rangeinput').setValue(ps2Map.mapRef.getZoom());}catch(err){}
GRID_OPACITY=(4-(.5*ps2Map.mapRef.getZoom()))/10;$('.leaflet-zoom-animated g path').attr('fill-opacity',GRID_OPACITY);})
$('#mapZoomSlider').data('rangeinput').setValue(ps2Map.mapRef.getZoom());$('#mapName').text('[ '+window.appSettings.selectedContinent.toUpperCase()+' - '+window.appSettings.worldsTable['world_'+window.appSettings.selectedWorld].name[i18n.langCode].toUpperCase()+' ]').fadeIn(500);showAll();$("#mapSpinner").hide();if(ps2Map.dataFailed==true){$('#mapErrorContainer').show();$('#showAll').addClass('disabled');var errorCount=(ps2Map.missingData.length);for(i=0;i<errorCount;i++){switch(ps2Map.missingData[i]){case"region":$('#showRegions').addClass('disabled').children('em').removeClass('selected');$('#showLattice').addClass('disabled').children('em').removeClass('selected');$('')
break;case"facility":$('#showBase').addClass('disabled').children('em').removeClass('selected');break;};}}else{$('#showAll').removeClass('disabled');$('#showAerospace').removeClass('disabled').children('em').addClass('selected');$('#showInfantry').removeClass('disabled').children('em').addClass('selected');$('#showMechanized').removeClass('disabled').children('em').addClass('selected');$('#showRegions').removeClass('disabled').children('em').addClass('selected');$('#showLattice').removeClass('disabled').children('em').addClass('selected');$('#showBase').removeClass('disabled').children('em').addClass('selected');}
if(appSettings.showMapTerritory==true){ps2Map.showRegions();$('#showRegions').children('em').addClass('selected');}else{ps2Map.hideRegions();$('#showRegions').children('em').removeClass('selected');}
if(appSettings.showMapBases==true){ps2Map.showFacilities();$('#showBase').children('em').addClass('selected');}else{ps2Map.hideFacilities();$('#showBase').children('em').removeClass('selected');}
if(appSettings.showMapLattice==true){ps2Map.showLattice();$('#showLattice').children('em').addClass('selected');}else{ps2Map.hideLattice();$('#showLattice').children('em').removeClass('selected');}
ps2Map.showLattice();setIconZoom(1);}catch(e){}};function setMap(_map){if(typeof _map==='string'&&(appSettings.CONTINENTS[_map]&&appSettings.CONTINENTS[_map].visiblePlanetStatus)){ps2Map.continent=_map;ps2Map.hexSize=appSettings.CONTINENTS[_map].hexSize;return true;}else{if(!!ps2Map.continent){throw{err:'mapUndefined',type:'mapInit'}}
return false;}};function setServer(_server){if(typeof _server==='string'){server=_server;return true;}else{if(!!server){throw{err:'serverUndefined',type:'mapInit'}}
return false;}};function setMapTiles(){if(!!ps2Map.continent&&typeof appSettings.CONTINENTS[ps2Map.continent]!=='undefined'){imageTiles=appSettings.CONTINENTS[ps2Map.continent].imgFile;return true;}else{throw{err:'mapTileNotFound',type:'mapInit'};return false;}};function convertX(_coord){return(parseInt(_coord)+MAP_MIDPOINT)*COORD_CONV;};function convertY(_coord){return Math.abs(parseInt(_coord)-MAP_MIDPOINT)*COORD_CONV;};var switchMap=function(_map,_server,cb){cb=cb||function(){};if(typeof _map==='string'){ps2Map.destruct();ps2Map.build(_map,_server,cb);return true;}else{throw{err:'mapOrServerNotFound',type:'mapInit'};return false;}};var getFaction=function(_region){return ps2Map.mapData[_region].faction;};var setFaction=function(_region,_faction){try{if(typeof ps2Map.mapData[_region]!=='undefined'){ps2Map.mapData[_region].faction=_faction;}}catch(err){}};var flashRegion=function(_region,_speed){try{if(_speed=="fast"){var flashNum=30,flashSpeed=200;}else{var flashNum=16,flashSpeed=500;}
if(typeof ps2Map.mapData[_region]!=='undefined'){ps2Map.mapData[_region].flashTime=0;if(ps2Map.mapData[_region].flashInterval){clearInterval(ps2Map.mapData[_region].flashInterval);}
ps2Map.mapData[_region].flashInterval=setInterval(function(){if(ps2Map.mapData[_region].flashTime%2){for(j=0;j<ps2Map.mapData[_region].polygon.length;j++){ps2Map.mapData[_region].polygon[j].setStyle({color:'#000',opacity:1.0,fillColor:ps2Map.getHighlight(_region),fillOpacity:GRID_OPACITY});}}else{for(j=0;j<ps2Map.mapData[_region].polygon.length;j++){ps2Map.mapData[_region].polygon[j].setStyle({color:'#000',opacity:1.0,fillColor:ps2Map.getColor(_region),fillOpacity:GRID_OPACITY});}}
if(ps2Map.mapData[_region].flashTime>=flashNum){clearInterval(ps2Map.mapData[_region].flashInterval);}
ps2Map.mapData[_region].flashTime++;},flashSpeed);}}catch(err){}}
var getFactionName=function(_region){return REGION_CONST.NAME[getFaction(_region)];};var getName=function(_region){return ps2Map.mapData[_region]['name'];};var setName=function(_region,_name){ps2Map.mapData[_region]['name']=_name;};var getColor=function(_region){return REGION_CONST.COLOR[getFaction(_region)];};var getHighlight=function(_region){return REGION_CONST.HIGHLIGHT[getFaction(_region)];};var getBaseImage=function(_region){var baseImageUrl='https://www-cdn.planetside2.com'+'/images/players/map/ps2_map/'+ps2Map.mapData[_region].facility.type+'-'+ps2Map.mapData[_region].faction+'.png?v=32068625';return baseImageUrl;};var setIconZoom=function(_zoomLevel){_.each(ps2Map.mapData,function(region,regionId){if(ps2Map.mapData[regionId].facility.marker){var baseIconSize=25;if(_zoomLevel==1){if(ps2Map.mapData[regionId].facility.type==5||ps2Map.mapData[regionId].facility.type==6){baseIconSize=14;}else{baseIconSize=20;}}else if(_zoomLevel==2){if(ps2Map.mapData[regionId].facility.type==5||ps2Map.mapData[regionId].facility.type==6){baseIconSize=21;}else{baseIconSize=25;}}
ps2Map.mapData[regionId].facility.marker.setIcon(L.icon({iconUrl:ps2Map.getBaseImage(regionId,_zoomLevel),iconSize:[baseIconSize,baseIconSize]}));}});};var hideAll=function(){hideFacilities();hideRegions();hideLattice();};var showAll=function(){showRegions();showLattice();showFacilities();$('.allOptions em').addClass('selected');};var showFacilities=function(){zoom=ps2Map.mapRef.getZoom();hideFacilities();for(region in ps2Map.mapData){try{if(typeof ps2Map.mapData[region].facility.marker!=='undefined'){ps2Map.mapLayer.Facilities.addLayer(ps2Map.mapData[region].facility.marker);}}catch(err){}}
ps2Map.mapLayer.Facilities.addTo(ps2Map.mapRef);};var hideFacilities=function(){if(ps2Map.mapLayer.Facilities){ps2Map.mapLayer.Facilities.eachLayer(function(layer){if(typeof ps2Map.mapRef!=='undefined'&&ps2Map.mapRef.hasLayer(layer)){ps2Map.mapRef.removeLayer(layer);}});}};var nextPolyPoint=function(point,region,prevParent){var pIndex=0;if(point.parents.length==2){pIndex=(prevParent)?0:1;}
var parentHex=ps2Map.mapData[region].paths[point.parents[pIndex]];if(point.parents.length==2){if(_.contains(parentHex,point)){var failMe=true;}
point=_.filter(parentHex,function(pt){return pt.lat==point.lat&&pt.lng==point.lng;})[0];}
var nextIndex=(point.index+1)%6;var nextPoint=parentHex[nextIndex];var nextPointKey='lat'+nextPoint.lat+'lng'+nextPoint.lng;if(ps2Map.mapData[region].OPP[nextPointKey]&&!failMe){return nextPoint;}else{return ps2Map.nextPolyPoint(point,region,pIndex);}};var orderPolyPoints=function(region,firstPoint){ps2Map.mapData[region].uberGrid=[];var point=ps2Map.nextPolyPoint(firstPoint,region);for(var i=0,len=ps2Map.mapData[region].outerPolyPoints.length;i<len;i++){ps2Map.mapData[region].uberGrid.push(point);point=ps2Map.nextPolyPoint(point,region);}};var showLattice=function(){if(ps2Map.hexSize==200){var options={1:{color:'#7D479B',weight:4,smoothFactor:1,clickable:false,pointerEvents:'none'},2:{color:'#4491C4',weight:4,smoothFactor:1,clickable:false,pointerEvents:'none'},3:{color:'#E35054',weight:4,smoothFactor:1,clickable:false,pointerEvents:'none'},4:{color:'yellow',weight:2,dashArray:[1,3],opacity:0.7,clickable:false,pointerEvents:'none'},5:{color:'white',weight:2,dashArray:[1,3],opacity:0.4,clickable:false,pointerEvents:'none'},6:{color:'white',weight:2,smoothFactor:1,opacity:0.75,clickable:false,pointerEvents:'none'},7:{color:'black',weight:4,smoothFactor:1,dashArray:[1,3],opacity:0.3,clickable:false,pointerEvents:'none'}}
var endPoints={x:0,y:0};_.each(ps2Map.mapFacilities,function(facility){facility.faction=ps2Map.mapData[facility.regionId].faction;_.each(facility.facilityLinks,function(link){if(facility.x){if(appSettings.facilityTable[link.facility_id_b]){link.faction=ps2Map.mapData[appSettings.facilityTable[link.facility_id_b].regionId].faction;var pointA=new L.LatLng(convertY(facility.y),convertX(facility.x));var pointB=new L.LatLng(convertY(appSettings.facilityTable[link.facility_id_b].location.y),convertX(appSettings.facilityTable[link.facility_id_b].location.x));var pointList=[pointA,pointB];var drawLinkLine=function(lineType){var outlinePolyline=new L.Polyline(pointList,options[lineType]);ps2Map.mapLayer.Lattice.addLayer(outlinePolyline);}
if(facility.faction==link.faction){drawLinkLine(facility.faction);drawLinkLine(6);}else if((facility.faction!=app.activeUser.get('faction'))&&(link.faction!=app.activeUser.get('faction'))){drawLinkLine(7);drawLinkLine(5);}else{drawLinkLine(7);drawLinkLine(4);}}}});});ps2Map.mapLayer.Lattice.addTo(ps2Map.mapRef);}};var hideLattice=function(){if(ps2Map.mapLayer.Lattice){ps2Map.mapLayer.Lattice.eachLayer(function(layer){if(typeof ps2Map.mapRef!=='undefined'&&ps2Map.mapRef.hasLayer(layer)){ps2Map.mapRef.removeLayer(layer);}});}};var showRegions=function(){try{ps2Map.mapLayer.Regions.eachLayer(function(layer){ps2Map.mapRef.addLayer(layer);layer.bringToBack();});}catch(err){}};var hideRegions=function(){if(ps2Map.mapLayer.Regions){ps2Map.mapLayer.Regions.eachLayer(function(layer){if(typeof ps2Map.mapRef!=='undefined'&&ps2Map.mapRef.hasLayer(layer)){ps2Map.mapRef.removeLayer(layer);}});}};var updateFaction=function(_region,_faction,_facility){try{ps2Map.setFaction(_region,_faction);ps2Map.flashRegion(_region);ps2Map.mapFacilities[_facility].faction=_faction;_.each(ps2Map.mapFacilities[_facility].backlinks,function(linked){_.each(ps2Map.mapFacilities[linked.facility_id_a].facilityLinks,function(facility){if(facility.facility_id_b==_facility){facility.faction=_faction;}});});ps2Map.hideLattice();ps2Map.showLattice();}catch(err){console.log(err);}
if(typeof ps2Map.mapData[_region]!=='undefined'&&typeof ps2Map.mapData[_region].polygon!=='undefined'){for(var k=0;k<ps2Map.mapData[_region].polygon.length;k++){ps2Map.mapData[_region].polygon[k].setStyle({color:'#000',opacity:1.0,fillColor:ps2Map.getColor(_region),faction:ps2Map.getFactionName(_region)});}}
if(typeof ps2Map.mapData[_region]!=='undefined'&&typeof ps2Map.mapData[_region].facility!=='undefined'&&typeof ps2Map.mapData[_region].facility.marker!=='undefined'){ps2Map.mapData[_region].facility.marker.setIcon(L.icon({iconUrl:ps2Map.getBaseImage(_region),iconSize:[22,22]}));}};function checkMapFilters(){if($('#mapRegions li em.selected').length==$('#mapRegions li em').length){$('#showAll span').html(i18n.mappingNew.checkMapFilters.hideAll);}else{$('#showAll span').html(i18n.mappingNew.checkMapFilters.showAll);}};function addControls(){mapLoc=$('#mapInfo .mapLoc');mapFaction=$('#mapInfo .mapFaction');hexFactionImage=$('#mapInfo #hexFactionImage');$('#showAll').click(function(){if($(this).hasClass('disabled')){return false}else{if($('#mapRegions li em.selected').length==$('#mapRegions li em').length){$('#showAll span').html(i18n.mappingNew.checkMapFilters.showAll);ps2Map.hideAll();appSettings.showMapBases=false;appSettings.showMapLattice=false;appSettings.showMapTerritory=false;appSettings.showMapAerospace=false;appSettings.showMapInfantry=false;appSettings.showMapMechanized=false;$.each($('#mapFilters li em'),function(){if($(this).hasClass('selected')){$(this).removeClass('selected');};});}else{ps2Map.showAll();$('#showAll span').html(i18n.mappingNew.checkMapFilters.hideAll);appSettings.showMapBases=true;appSettings.showMapLattice=true;appSettings.showMapTerritory=true;appSettings.showMapAerospace=true;appSettings.showMapInfantry=true;appSettings.showMapMechanized=true;$.each($('#mapFilters li em'),function(){if(!$(this).hasClass('selected')){$(this).addClass('selected');};});};}});$('#showLattice').click(function(){if($(this).hasClass('disabled')){return false;}else{if($(this).children('em').hasClass('selected')){ps2Map.showLattice();appSettings.showLattice=true;}else{ps2Map.hideLattice();appSettings.showLattice=false;}}
checkMapFilters();});$('#showBase').click(function(){if($(this).hasClass('disabled')){return false}else{if($(this).children('em').hasClass('selected')){ps2Map.showFacilities();appSettings.showMapBases=true;}else{ps2Map.hideFacilities();appSettings.showMapBases=false;};}
checkMapFilters();});$('#showRegions').on('click',function(){if($(this).hasClass('disabled')){return false}else{if($(this).children('em').hasClass('selected')){ps2Map.showRegions();appSettings.showMapTerritory=true;}else{ps2Map.hideRegions();appSettings.showMapTerritory=false;};}
checkMapFilters();});var panRange=50;$('#panUp').on('click',function(){ps2Map.mapRef.panBy([0,panRange* -1]);});$('#panDown').on('click',function(){ps2Map.mapRef.panBy([0,panRange]);});$('#panLeft').on('click',function(){ps2Map.mapRef.panBy([panRange* -1,0]);});$('#panRight').on('click',function(){ps2Map.mapRef.panBy([panRange,0]);});$('#zoomIn').on('click',function(){var zoom=ps2Map.mapRef.getZoom();if(zoom<ps2Map.mapRef.options.maxZoom){ps2Map.mapRef.setZoom(zoom+1);};});$('#zoomOut').on('click',function(){var zoom=ps2Map.mapRef.getZoom();if(zoom>ps2Map.mapRef.options.minZoom){ps2Map.mapRef.setZoom(zoom-1);};});$("#mapZoomSlider").change(function(event,value){sliderZoomSet(value);});function sliderZoomSet(level){if(ps2Map.mapRef.getZoom()!=level){ps2Map.mapRef.setZoom(level);}};};function listenToEvents(_server){dispatcher.on('receivedMapFacilityEvent',function(data){if(typeof ps2Map.mapFacilities[data.data_list.facility_id]!=='undefined'&&typeof data.data_list.faction_new!=='undefined'&&data.world_id==_server){ps2Map.updateFaction(ps2Map.mapFacilities[data.data_list.facility_id].regionId,data.data_list.faction_new,data.data_list.facility_id);}});};var returnItems={init:init,build:build,destruct:destruct,switchMap:switchMap,continent:continent,getBaseImage:getBaseImage,getColor:getColor,getHighlight:getHighlight,getName:getName,getFaction:getFaction,getFactionName:getFactionName,setname:setName,setFaction:setFaction,flashRegion:flashRegion,updateFaction:updateFaction,showAll:showAll,hideAll:hideAll,showFacilities:showFacilities,showLattice:showLattice,hideLattice:hideLattice,convertY:convertY,convertX:convertX,nextPolyPoint:nextPolyPoint,orderPolyPoints:orderPolyPoints,hideFacilities:hideFacilities,showRegions:showRegions,hideRegions:hideRegions,mapData:mapData,mapRef:mapRef,mapLayer:mapLayer,facilityRegion:facilityRegion,dataFailed:dataFailed,missingData:missingData}
return returnItems;}();var ps2MapGrid=function(){var HEX_WIDTH,HEX_SIDE,HEX_HEIGHT,HEX_3_4_HEIGHT,HEX_1_4_HEIGHT,HEX_HALF_WIDTH;var setHexSize=function(hexSize){if(hexSize==200){HEX_WIDTH=200,HEX_SIDE=113.5036,HEX_HEIGHT=(HEX_SIDE*2)+3.5,HEX_3_4_HEIGHT=HEX_HEIGHT*3/4,HEX_1_4_HEIGHT=HEX_HEIGHT/4,HEX_HALF_WIDTH=HEX_WIDTH/2;}else{HEX_WIDTH=335,HEX_SIDE=190.118570,HEX_HEIGHT=(HEX_SIDE*2)+6.5,HEX_3_4_HEIGHT=HEX_HEIGHT*3/4,HEX_1_4_HEIGHT=HEX_HEIGHT/4,HEX_HALF_WIDTH=HEX_WIDTH/2;}};var hex=function(_x,_y){var points=[];points.push({x:_x,y:_y});points.push({x:_x-HEX_HALF_WIDTH,y:_y+HEX_1_4_HEIGHT});points.push({x:_x-HEX_HALF_WIDTH,y:_y+HEX_3_4_HEIGHT});points.push({x:_x,y:_y+HEX_HEIGHT});points.push({x:_x+HEX_HALF_WIDTH,y:_y+HEX_3_4_HEIGHT});points.push({x:_x+HEX_HALF_WIDTH,y:_y+HEX_1_4_HEIGHT});return points;};var getHexCoord=function(_x,_y){var h=new hex(((_x*HEX_WIDTH)+(_y*HEX_HALF_WIDTH)),(_y*HEX_3_4_HEIGHT));return h;};return{hex:hex,getHexCoord:getHexCoord,setHexSize:setHexSize}}();ps2MapError=function(){this.errorRecover=function(_err){};this.showMapError=function(_msg){};}();

/* end /scripts/players/map/mapping.js*/

/* start /scripts/players/views/view-planetStatus.js*/
PlanetStatusLayout=Backbone.Marionette.TopLayout.extend({name:'planetStatus',template:appSettings.tpl['tplMap'],attributes:{'id':'secPlanetStatus','class':'s-ps'},initialize:function(){var _this=this;this.eventCollection=new Backbone.Collection();},onRender:function(){if(!appSettings.worldsTable){_this.find('#worldDD ul').html('<li><a>'+i18n.planetStatus.dropdowns.noDataAvailable+'</a></li><div class="sub-select-bottom"></div>');this.listenTo(dispatcher,'worldsTable-ready',this.populateWorldsDD);}else{this.populateWorldsDD(appSettings.worldsTable);}
if(!appSettings.CONTINENTS){_this.find('#continentDD ul').html('<li><a>'+i18n.planetStatus.dropdowns.noDataAvailable+'</a></li><div class="sub-select-bottom"></div>');}else{this.populateContinentsDD(appSettings.CONTINENTS);}},onShow:function(){var _this=this;var scrollPosMap=0;$('.mapFilterButton').on('click',function(){var widthValue;var opacityValue;if($('.mapFilterButton').hasClass('show')){widthValue='264px';opacityValue=1.0;$('.mapFilterButton').removeClass('show')}else{widthValue='0';opacityValue=0
$('.mapFilterButton').addClass('show');}
$('#mapFilters').animate({'width':widthValue,'opacity':opacityValue},'fast');})
$('#fullScreenButton').click(function(){scrollPosMap=$(window).scrollTop();$(window).scrollTop(0);$('html').css('overflow','hidden').width($(window).width()).height($(window).height());$('body').prepend('<div id="fullscreenMap"></div>');var fullscreenMapContainer=$('#mapContainer').detach();$('#fullscreenMap').append(fullscreenMapContainer);_this.rangeinput("#mapZoomSlider",{max:5,value:0});$('#exitFullscreen').click(function(){_this.exitMapFullscreen(scrollPosMap);});ps2Map.mapRef.invalidateSize(false);});$(window).resize(function(){if($('#fullscreenMap').length>0){$('html').css('overflow','hidden').width($(window).width()).height($(window).height());ps2Map.mapRef.invalidateSize(false);}});$(document).keyup(function(e){if(e.keyCode==27){_this.exitMapFullscreen(scrollPosMap);}});_this.rangeinput("#mapZoomSlider",{max:5,value:0});$('#mapFilters li').click(function(){if($(this).hasClass('disabled')){return false;}else{if($(this).children('em').hasClass('selected')){$(this).children('em').removeClass('selected');}else{$(this).children('em').addClass('selected');};}});$('#panUp').mouseenter(function(){$('#mapNav').css('background-position','-86px -351px')});$('#panRight').mouseenter(function(){$('#mapNav').css('background-position','-172px -351px')});$('#panDown').mouseenter(function(){$('#mapNav').css('background-position','-258px -351px')});$('#panLeft').mouseenter(function(){$('#mapNav').css('background-position','-344px -351px')});$('#mapNav area').mouseleave(function(){$('#mapNav').css('background-position','0 -351px')});PS2.utils.dropDown('#worldDD',' > ul');PS2.utils.dropDown('#continentDD',' > ul');if(typeof ps2Map!=="undefined"){ps2Map.timeout=setTimeout(function(){if(window.appSettings.selectedContinent&&window.appSettings.selectedWorld){ps2Map.init(window.appSettings.selectedContinent,window.appSettings.selectedWorld);}else{ps2Map.init('indar',false);}},2500);PS2.utils.checkDependencies(["worldsTable","facilityTable"],function(){clearTimeout(ps2Map.timeout);if(window.appSettings.selectedContinent&&window.appSettings.selectedWorld){ps2Map.init(window.appSettings.selectedContinent,window.appSettings.selectedWorld);}else{ps2Map.init('indar',false);}});}
this.registerClickEvent();},rangeinput:function(selector,options){$(selector).rangeinput(options);},exitMapFullscreen:function(scrollPosMap){_this=this;var fullscreenMapContainer=$('#mapContainer').detach();$('#fullscreenMap').remove();$('#secPlanetStatus').append(fullscreenMapContainer);_this.rangeinput("#mapZoomSlider",{max:5,value:0});$('html').css('overflow','scroll').width('100%').height('100%');$('#mapNav').css('z-index','20000');$(window).scrollTop(scrollPosMap);ps2Map.mapRef.invalidateSize(false).setZoom(1);$('#mapFeed').css('height','195px');$('#mapFeedHeader').show();},populateWorldsDD:function(worldData){_this=this.$el;_this.find('#worldDD ul').html('<div class="sub-select-bottom"></div>');$.each(worldData,function(){_this.find('#worldDD ul').append('<li><a class="worldItem" rel="'+this.server_id+'">'+this.name[i18n.langCode]+'</a></li>');});this.registerClickEvent();},populateContinentsDD:function(continentData){_this=this.$el;_this.find('#continentDD ul').html('<div class="sub-select-bottom"></div>');_.each(continentData,function(continent){if(continent.visiblePlanetStatus){_this.find('#continentDD ul').prepend('<li><a class="continentItem">'+continent.name+'</a></li>');}});this.registerClickEvent();},registerClickEvent:function(){function getFirstServer(){for(server in window.appSettings.worldsTable){return window.appSettings.worldsTable[server].server_id.toString();}}
if(!window.appSettings.selectedContinent&&appSettings.CONTINENTS){_.any(appSettings.CONTINENTS,function(continent){if(continent.visiblePlanetStatus){window.appSettings.selectedContinent=continent.name.toLowerCase();return true;}});}
if(!window.appSettings.selectedWorld&&window.appSettings.worldsTable){if(window.app.activeUser&&window.app.activeUser.toJSON().worldID){window.appSettings.selectedWorld=window.app.activeUser.toJSON().worldID;}else if(app.contextCharacter&&app.contextCharacter.toJSON().world_id){window.appSettings.selectedWorld=app.contextCharacter.toJSON().world_id;}else{window.appSettings.selectedWorld=getFirstServer();}}else{if(window.app.activeUser&&window.app.activeUser.toJSON().worldID){window.appSettings.selectedWorld=window.app.activeUser.toJSON().worldID;}}
$('#mapError button').click(function(){$('#mapErrorContainer').hide();});$('.mapDD ul li a').unbind('click.mapDropdown').bind('click.mapDropdown',function(){if($(this).hasClass('worldItem')){window.appSettings.selectedWorld=$(this).attr('rel').toString();}
else if($(this).hasClass('continentItem')){window.appSettings.selectedContinent=$(this).text().toLowerCase();};$('#mapName').fadeOut(200);if(window.appSettings.selectedWorld&&window.appSettings.selectedContinent){ps2Map.switchMap(window.appSettings.selectedContinent,window.appSettings.selectedWorld);}else if(window.appSettings.selectedContinent){ps2Map.switchMap(window.appSettings.selectedContinent,false);}else{$('#mapErrorContainer').show();}});}});

/* end /scripts/players/views/view-planetStatus.js*/

/* start /scripts/players/main.js*/
if(!window.console)console={log:function(){}};$(function(){var activeUser;dispatcher=new EventDispatcher();if(globs.wdl.userLoggedIn){activeUser=new ActiveUser({'userLoggedIn':globs.wdl.userLoggedIn,'characterIds':appSettings.characterIds});timeoutView=new SessionNagView();$(document).on('click',function(){timeoutView.refreshSession();});}else{activeUser=new ActiveUser();}
PS2.utils.dropDown('#langSelect',' > ul');PS2.utils.autoSuggest("#nav-searchString",appSettings.censusUrl+"/character_name/",{htmlId:"head-charString",nameLoc:'name.first',pageType:'character',start:PS2.utils.show('#nav-charSearch'),queryParam:"?name.first_lower",extraParams:"&c:limit=10&c:sort=name.first_lower&c:show=name.first,character_id&callback=?"});PS2.utils.btnSearch($('.btn-search'),appSettings.playerRootUrl+'/#!/search/');startApp(activeUser);function startApp(activeUser){app=new Backbone.Marionette.Application();var appController={loadCharacter:function(charId,callback){var _this=this;if(app.contextCharacter&&app.contextCharacter.id==charId){return;}
app.contextCharacter=new Character({id:charId});PS2.utils.checkDependencies(['vehicleTable','battleRankTable','worldsTable','itemsTable'],function(){app.contextCharacter.fetch({success:function(){if(app.contextCharacter.get('id')){if(app.activeUser.getCharIdsList()&&app.activeUser.getCharIdsList().length){if(app.activeUser.getActiveChar()){if(app.activeUser.isUserCharacter(app.contextCharacter.get('id'))&&app.contextCharacter.get('id')!=app.activeUser.getActiveChar().id){app.activeUser.setActiveChar(app.contextCharacter.get('id'));}}else{if($.inArray(app.contextCharacter.get('id'),app.activeUser.getCharIdsList())>=0){app.activeUser.setActiveChar(app.contextCharacter.get('id'));}else{app.activeUser.setActiveChar(app.activeUser.getCharIdsList()[0]);}}}
dispatcher.trigger('receivedCharacterChange',app.contextCharacter.id);app.contextCharacter.friendsListModel=new FriendsList({id:app.contextCharacter.get('id')});app.contextCharacter.friendsListModel.fetch({success:function(data){if(data.get('friendsList')){var friendsList=data.get('friendsList');app.contextCharacter.set({'friendsIds':friendsList});}
dispatcher.trigger('friendsLoaded',data.toJSON());}});app.contextCharacter.historicalModel=new CharacterHistorialEvents({id:app.contextCharacter.get('id')});app.contextCharacter.historicalEventsLoadingStatus=true;app.contextCharacter.historicalModel.fetch({success:function(data){var historicalEvents=[];_.each(data.toJSON(),function(event){if(typeof(event)=='object'){historicalEvents.push(event);}});app.contextCharacter.events=historicalEvents;dispatcher.trigger('characterHistoricalEventsLoaded',app.contextCharacter.events);}});if(app.subNav==undefined){app.subNavContainer.show(new SubNavLayout({model:app.contextCharacter}));}
if(typeof(callback)=='function'){callback();}}else{console.log('There was an error in retrieving char');app.contextCharacter=null;app.router.navigate(appSettings.playerRootUrl+"/#!/",{trigger:true});}}});});},loadContext:function(charId,context,path){var _this=this;if(!$.isNumeric(charId)){_this.loadSplash();return false;};var content;if(app.contextCharacter&&(app.contextCharacter.id==charId)){switch(context){case'weapons':app.contentContainer.show(new WeaponsLayout({model:app.contextCharacter}));break;case'classes':app.contentContainer.show(new ClassesLayout({model:app.contextCharacter}));break;case'leaderboards':_this.loadLeaderboard();break;case'search':_this.loadSearch();break;case'stats':_this.loadStats(charId);break;case'killboard':_this.loadKillboard();break;case'weapon-overview':_this.loadWepOverview();break;case'splash':_this.loadSplash();break;case'outfits':case'vehicles':case'vehicle-overview':case'planetstatus':case'certifications':app.router.navigate("!/"+charId,{trigger:true,replace:true});break;default:break;}}else{_this.loadCharacter(charId,function(){_this.loadContext(charId,context,path);});}},loadOverview:function(charId){var _this=this;if(!$.isNumeric(charId)){_this.loadSplash();return false;}
if(app.contextCharacter&&(app.contextCharacter.id==charId)){PS2.utils.checkDependencies(['itemsTable','battleRankTable','regionsTable'],function(){app.contentContainer.show(new SocialLayout({model:app.contextCharacter,dispatcher:dispatcher}));});}else{_this.loadCharacter(charId,function(){app.router.controller.loadOverview(charId);});}},loadVehicles:function(){PS2.utils.checkDependencies(["vehicleTable"],function(){app.contentContainer.show(new VehicleListLayout({model:app.contextCharacter}));});},loadSearch:function(qs,cp){$("#as-results-head-charString").hide();app.searchResultsList=new SearchResultsCollection(searchResults,{'query':qs,'page':cp});app.searchResultsList.fetch({success:function(){app.contentContainer.show(new SearchResultsLayout({collection:new Backbone.Collection(app.searchResultsList.models[0].toJSON().character_list)}));}});},loadLeaderboard:function(charId){PS2.utils.checkDependencies(["worldsTable"],function(){app.contentContainer.show(new LeaderboardAllLayout());});},loadOutfits:function(){outfitCollection=new OutfitCollection();outfitCollection.fetch({success:function(){app.contentContainer.show(new OutfitLayout({model:app.contextCharacter,collection:outfitCollection}));}});},loadStats:function(charId){var _this=this;if(app.contextCharacter&&(app.contextCharacter.id==charId)){PS2.utils.checkDependencies(['itemsTable'],function(){app.contentContainer.show(new StatisticsLayout({model:app.contextCharacter}));});}else{_this.loadCharacter(charId,function(){_this.loadStats(charId);});}},loadKillboard:function(){var _this=this;var _view=PS2.utils.gup('view');var _filter=PS2.utils.gup('filter')||'all';var _killboardDataModel,_killboardCollection;if(_view=='kills'||_view=='deaths'){_killboardCollection=KillboardAggregateCollection;}else{_killboardCollection=KillboardTimelineCollection;}
PS2.utils.checkDependencies(['itemsTable','vehicleTable'],function(){_killboardDataModel=new _killboardCollection(killboard,{'view':_view,'filter':_filter});_killboardDataModel.fetch({success:function(){app.contentContainer.show(new KillboardLayout({collection:_killboardDataModel,'view':_view,'filter':_filter}));}});});},loadWepOverview:function(){app.weaponOverviewList=new WeaponOverviewCollection(weapon);app.weaponOverviewList.fetch({success:function(){var headerTemplate=app.contextCharacter?appSettings.tpl.tplWeaponHeader:appSettings.tpl.tplWeaponHeaderNoChar;app.contentContainer.show(new WeaponOverviewLayout({collection:app.weaponOverviewList,model:app.contextCharacter,template:headerTemplate}));}});},loadVehicleOverview:function(){PS2.utils.checkDependencies(["vehicleTable"],function(){app.contentContainer.show(new VehicleOverviewListLayout({model:app.contextCharacter}));});},loadRemoved:function(){app.router.navigate("!/",{trigger:true,replace:true});},loadSplash:function(){app.contextCharacter=null;var _charId;if(!app.activeUser.getUserLoggedIn()){if(typeof DTKR!=='undefined'&&DTKR.getCharIdFromCookie()){_charId=DTKR.getCharIdFromCookie();app.router.navigate("!/"+_charId,{trigger:true});}else{$('body').addClass('splash');app.splashContainer.show(new SplashLayout({model:app.minCharList}));app.removeLoader();}}else{if(app.activeUser.getCharIdsList()){if(typeof DTKR!=='undefined'&&app.activeUser.isUserCharacter(DTKR.getCharIdFromCookie())){_charId=DTKR.getCharIdFromCookie();}else if(app.activeUser.getCharIdsList()[0]){_charId=app.activeUser.getCharIdsList()[0];}else{_charId=null;}}
if(_charId&&window.appSettings.charLoadErrorShown==true){$('body').addClass('splash');app.splashContainer.show(new SplashLayout({model:app.minCharList}));if(appSettings.noCharAlertShown===false){$('#noCharAlert').css('display','block');$('#splashContent').css('display','none');appSettings.noCharAlertShown=true;}
$('.login-button').css('display','none');$('.centered-text.s17').html(i18n.main.loadSplash.pleaseLogin).css('color','#FF8E32');app.removeLoader();}else if(_charId){app.router.navigate("!/"+_charId,{trigger:true});}else{$('body').addClass('splash');app.splashContainer.show(new SplashLayout({model:app.minCharList}));if(appSettings.noCharAlertShown===false){$('#noCharAlert').css('display','block');$('#splashContent').css('display','none');appSettings.noCharAlertShown=true;}
$('.login-button').css('display','none');$('.centered-text.s17').html(i18n.main.loadSplash.pleaseLogin).css('color','#FF8E32');app.removeLoader();}}}};app.addInitializer(function(options){app.router=new Router();this.activeView=null;this.contentDiv=$('#container');this.splashDiv=$('#splashContainer');this.loaderDiv=$('#loaderOverlay');this.loadingState=false;this.contextCharacter=null;this.currentView=null;this.activeUser=activeUser;this.showLoader=function(loadFuncName,routeArgs){var errorTimeoutDuration=appSettings.errorTimeoutDuration;if(loadFuncName=='loadContext'&&routeArgs[1]=='killboard'){errorTimeoutDuration=10000;}
if(!this.loadingState){$('body').removeClass('splash');this.loadingState=true;$(this.contentDiv).toggle(false);$(this.loaderDiv).toggle(true);this.errorTimeout=window.setTimeout(function(){$('.errorContainer').css('display','block');$('#loaderOverlay').addClass('error').css('background-position','center 312px');$('.errorMessage').css('background-position','-7px -2542px');},errorTimeoutDuration);this.errorBigTimeout=window.setTimeout(function(){$('.redErrorText').css('display','block');$('.errorText span').html(i18n.main.showLoader.errorText).css('margin-bottom','20px');$('.errorMessage').css('background-position','-457px -2542px');$('#loaderOverlay').css('background','none');$('#loaderOverlay .errorMessage button').css('margin-top','55px');},20000);}};this.removeLoader=function(){if(this.loadingState){$(this.contentDiv).toggle(true);$(this.loaderDiv).toggle(false);this.loadingState=false;$('#loaderOverlay').removeClass('error').css('background','url("https://www-cdn.planetside2.com/images/players/global/loading_ani.gif?v=3263509970") no-repeat center center');$('.redErrorText').css('display','none');$('.errorContainer').css('display','none');$('.errorText span').html(i18n.main.removeLoader.errorText).css('margin-bottom','0');$('#loaderOverlay .errorMessage button').css('margin-top','30px');window.clearTimeout(this.errorTimeout);window.clearTimeout(this.errorBigTimeout);}};this.mainNavContainer.show(new MainNavLayout({model:this.activeUser}));this.footerContainer.show(new FooterLayout({model:this.activeUser}));});Router=Backbone.Marionette.AppRouter.extend({appRoutes:{"!/planetstatus/":"loadRemoved","!/planetstatus":"loadRemoved","!/search/*qs":"loadSearch","!/search/":"loadSearch","!/search":"loadSearch","!/leaderboard/*qs":"loadLeaderboard","!/leaderboard":"loadLeaderboard","!/leaderboards/*qs":"loadLeaderboard","!/leaderboards":"loadLeaderboard","!/outfit/":"loadRemoved","!/outfit":"loadRemoved","!/outfits/":"loadRemoved","!/outfits":"loadRemoved","!/outfit/*qs":"loadOutfits","!/outfits/*qs":"loadOutfits","!/weapon-overview/":"loadWepOverview","!/weapon-overview":"loadWepOverview","!/vehicle-overview/":"loadVehicleOverview","!/vehicle-overview":"loadVehicleOverview","!/certifications/":"loadRemoved","!/certifications":"loadRemoved","!/profile/":"loadLeaderboard","!/profile":"loadLeaderboard","!/:charId/:context/*path":"loadContext","!/:charId/:context":"loadContext","!/:charId/":"loadOverview","!/:charId":"loadOverview","*path":"loadSplash"},_routeToRegExp:function(route){route=Backbone.Router.prototype._routeToRegExp.call(this,route);return new RegExp(route.source,'i');},route:function(route,name,callback){return Backbone.Router.prototype.route.call(this,route,name,function(){if(!callback)callback=this[name];this.preRoute(name);this.trigger.apply(this,['beforeroute:'+name].concat(_.toArray(arguments)));callback.apply(this,arguments);});},preRoute:function(name){app.showLoader(name,arguments);},controller:appController});app.addRegions({timeoutContainer:'#timeoutContainer',contentContainer:'#container',splashContainer:'#splashContainer',subNavContainer:'#subNavMainContainer',mainNavContainer:'nav',footerContainer:'footer nav'});app.on("initialize:after",function(){if(Backbone.history){Backbone.history.start();}});app.start();try{DTKR.updateCharCookie();}catch(e){}
if($.isEmptyObject(appSettings.vehicleTable)){var vehicleModel=new VehicleModel();vehicleModel.fetch({success:function(){appSettings.vehicleTable=vehicleModel.toJSON()[0];dispatcher.trigger('vehicleLoaded',appSettings.vehicleTable);},error:function(){console.log("Error retrieving vehicle");}});}
if($.isEmptyObject(appSettings.itemsTable)){var itemsModel=new LookupItemCollection(lookupItem);var itemsModelSuccess=function(){var items={};var count=0;_.each(itemsModel.toJSON(),function(i){items['item_'+i.item_id]={'name':i.name,'id':i.item_id,'image_path':i.image_path};count++;});appSettings.itemsTable=_.extend(appSettings.itemsTable,items);if(count<5000){dispatcher.trigger('itemsLoaded',appSettings.itemsTable);}else{itemsModel.startPoint+=count;itemsModel.fetch({success:itemsModelSuccess});}};itemsModel.fetch({success:itemsModelSuccess,error:function(){console.log("Error retrieving Items");}});}
if($.isEmptyObject(appSettings.worldsTable)){var worldsModel=new WorldsCollection(world);worldsModel.fetch({success:function(){var worlds={};_.each(worldsModel.toJSON(),function(world){worlds['world_'+world.world_id]={'name':world.name,'server_id':world.world_id};});appSettings.worldsTable=worlds;dispatcher.trigger('worldsLoaded',appSettings.worldsTable);},error:function(){console.log("Error retrieving Worlds");}});}
if($.isEmptyObject(appSettings.mapTable)){var regionCollection=new MapDataCollection(MapData);regionCollection.fetch({success:function(data){},error:function(){console.log("Error retrieving "+[name.substring(0,name.length-3)]+" map regions");}});}};});

/* end /scripts/players/main.js*/
